使用多维数组的 Java 程序添加两个矩阵
对于两个给定的矩阵,每个矩阵的大小为m×n,编写一个Java 程序来添加它们。矩阵具有其元素的行和列排列。具有m行和n列的矩阵可以称为m×n矩阵。矩阵中的单个条目称为元素,可以用a[i][j]表示,这意味着元素a位于第i行和第j列。
请注意,只有当每个矩阵的行数和列数相等时,才能添加两个矩阵。现在,让我们用一个示例场景来了解问题陈述。
示例场景
Input 1: matrix1 = {{2, 3, 4}, {5, 2, 3}, {4, 6, 9}} Input 2: matrix2 = {{1, 5, 3}, {5, 6, 3}, {8, 1, 5}} Output: res = {{3 8 7}, {10 8 6}, {12 7 14}}
使用嵌套 for 循环
在这种方法中,使用外部 for 循环迭代两个矩阵的每个元素,并将第一个矩阵中 [i][j] 位置的元素与第二个矩阵中 [i][j] 位置的元素相加,使用内部 for 循环,并将值存储在结果矩阵的 [i][j] 位置。
示例
在这个 Java 程序中,我们使用嵌套 for 循环来添加两个矩阵。
public class AddMatrices { public static void main(String[] args) { int matrix_size = 3; int[][] input_matrix_1 = { {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("The first matrix is defined as: \n"); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_1[i][j] + " "); } System.out.println(); } int[][] input_matrix_2 = { {1, 5, 3}, {5, 6, 3}, {8, 1, 5} }; System.out.println("The second matrix is defined as: \n"); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_2[i][j] + " "); } System.out.println(); } int[][] resultant_matrix = new int[matrix_size][matrix_size]; for(int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { resultant_matrix[i][j] = input_matrix_1[i][j] + input_matrix_2[i][j]; } } System.out.println("The sum of the two matrices is: "); for(int[] row : resultant_matrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }
上述代码的输出如下:
The first matrix is defined as: 2 3 4 5 2 3 4 6 9 The second matrix is defined as: 1 5 3 5 6 3 8 1 5 The sum of the two matrices is: 3 8 7 10 8 6 12 7 14
使用嵌套 while 循环
这是在 Java 中添加两个矩阵的另一种方法。在这里,我们使用嵌套 while 循环代替嵌套 for 循环。该实现使用与前一个示例相同的逻辑。
示例
在这里,我们使用嵌套 while 循环来在 Java 中添加两个矩阵。
public class AddMatrices { public static void main(String args[]) { int mtr1[][] = { {1, 7}, {9, 2} }; int mtr2[][] = { {6, 3}, {5, 1} }; int add[][] = new int[2][2]; int i=0; while(i < 2) { int j = 0; while(j < 2) { add[i][j] = mtr1[i][j] + mtr2[i][j]; j++; } i++; } System.out.println("Sum of given two matrices = "); i = 0; while(i < 2) { int j = 0; while(j < 2) { System.out.print(add[i][j] + "\t"); j++; } System.out.println(); i++; } } }
运行上述代码后,将显示以下输出:
Sum of given two matrices = 7 10 14 3
广告