Матричные программы на Java
Матрица представляет собой прямоугольный массив. Элементы расположены в строках и столбцах. В этом уроке мы рассмотрим некоторые матричные программы на Java.
Графическое представление матрицы
Матрица в Java
Мы можем реализовать матрицу, используя двумерный массив в Java. Доступ к элементу в строке \r и столбце \c можно получить, используя индекс \array[r][c].
Матричные программы на Java
Поскольку мы используем двумерные массивы для создания матрицы, мы можем легко выполнять различные операции над ее элементами. В этом уроке мы узнаем, как создать матрицу на основе пользовательского ввода. Затем мы будем складывать, вычитать и умножать две матрицы и выводить результирующую матрицу на консоль.
1. Добавление двух матриц
Вот простая программа для заполнения двух матриц из пользовательского ввода. Затем добавьте его элементы по соответствующим индексам, чтобы получить сложение матриц. Наконец, мы напечатаем сумму матриц.
package com.journaldev.examples;
import java.util.Scanner;
public class MatrixPrograms {
public static void main(String[] args) {
System.out.println("Please enter the rows in the matrix");
Scanner sc = new Scanner(System.in);
int row = sc.nextInt();
System.out.println("Please enter the columns in the matrix");
int column = sc.nextInt();
int[][] first = new int[row][column];
int[][] second = new int[row][column];
for (int r = 0; r < row; r++) {
for (int c = 0; c < column; c++) {
System.out.println(String.format("Enter first[%d][%d] integer", r, c));
first[r][c] = sc.nextInt();
}
}
for (int r = 0; r < row; r++) {
for (int c = 0; c < column; c++) {
System.out.println(String.format("Enter second[%d][%d] integer", r, c));
second[r][c] = sc.nextInt();
}
}
// close the scanner
sc.close();
// print both matrices
System.out.println("First Matrix:\n");
print2dArray(first);
System.out.println("Second Matrix:\n");
print2dArray(second);
// sum of matrices
sum(first, second);
}
// below code doesn't take care of exceptions
private static void sum(int[][] first, int[][] second) {
int row = first.length;
int column = first[0].length;
int[][] sum = new int[row][column];
for (int r = 0; r < row; r++) {
for (int c = 0; c < column; c++) {
sum[r][c] = first[r][c] + second[r][c];
}
}
System.out.println("\nSum of Matrices:\n");
print2dArray(sum);
}
private static void print2dArray(int[][] matrix) {
for (int r = 0; r < matrix.length; r++) {
for (int c = 0; c < matrix[0].length; c++) {
System.out.print(matrix[r][c] + "\t");
}
System.out.println();
}
}
}
2. Вычитание двух матриц
Вот функция для вычитания вторых элементов матрицы из первой матрицы, а затем печати результирующей матрицы.
private static void subtract(int[][] first, int[][] second) {
int row = first.length;
int column = first[0].length;
int[][] sum = new int[row][column];
for (int r = 0; r < row; r++) {
for (int c = 0; c < column; c++) {
sum[r][c] = first[r][c] - second[r][c];
}
}
System.out.println("\nSubtraction of Matrices:\n");
print2dArray(sum);
}
3. Умножение двух матриц
Ниже метод умножит элементы матрицы и напечатает результирующую матрицу.
private static void multiply(int[][] first, int[][] second) {
int row = first.length;
int column = first[0].length;
int[][] sum = new int[row][column];
for (int r = 0; r < row; r++) {
for (int c = 0; c < column; c++) {
sum[r][c] = first[r][c] * second[r][c];
}
}
System.out.println("\nMultiplication of Matrices:\n");
print2dArray(sum);
}
Ссылка: Википедия