使用多維陣列的 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

更新於: 2024年9月11日

1K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.