在 Java 中查詢矩陣對角線元素的乘積


在 Java 中,陣列是一個物件。它是一種非原始資料型別,用於儲存相同資料型別的值。Java 中的矩陣只不過是一個多維陣列,它表示多行多列。

這裡我們給出了一個包含一組元素的矩陣,根據問題陳述,我們必須找到對角線元素的乘積。

在本文中,我們將瞭解如何使用 Java 程式語言來實現這一點。

為您展示一些例項

例項 1

給定矩陣 =

21 	22	23
24	25	26
27	28	29
  • 主對角線元素為:21、25 和 29

  • 反對角線元素為:23、25 和 27

  • 兩個對角線元素的乘積結果為:15225 和 15525

例項 2

給定矩陣 =

9 	2	2	4
1	7	2	6
2	2	4	3
1	4	7	8
  • 主對角線元素為:9、7、4 和 8

  • 反對角線元素為:4、2、2 和 1

  • 兩個對角線元素的乘積結果為:2016 和 16。

例項 3

給定矩陣 =

1 	2	3
4	5	6
7	8	9
  • 主對角線元素為:1、5 和 9

  • 反對角線元素為:3、5 和 7

  • 兩個對角線元素的乘積結果為:45 和 105

演算法

  • 步驟 1 - 宣告並初始化一個名為輸入矩陣的 3x3 方形矩陣。

  • 步驟 2 - 宣告並初始化兩個變數 mainDiagonalProd 和 antiDiagonalProd,分別用於儲存矩陣主對角線和反對角線上的值的乘積。

  • 步驟 3 - 透過遍歷矩陣並在行和列相等的所有索引處將值相乘來計算主對角線上值的乘積。

  • 步驟 4 - 然後透過遍歷矩陣並在行和列的總和等於矩陣長度減 1 的所有索引處將值相乘來計算反對角線上值的乘積。

  • 步驟 5 - 最後,列印計算出的主對角線和反對角線的乘積。

語法

Java 中的 length 方法返回給定矩陣的長度。

以下是它的語法 -

inputMatrix.length

其中,“inputMatrix”指的是給定的矩陣。

多種方法

我們提供了不同方法的解決方案。

  • 使用矩陣元素的靜態初始化

  • 使用使用者定義的方法

讓我們逐一檢視程式及其輸出。

方法 1:使用矩陣元素的靜態初始化

在這種方法中,矩陣元素將在程式中初始化。然後根據演算法計算該矩陣對角線元素的乘積。

這裡我們分別找到了兩個對角線元素的乘積值。

示例

public class Main{
   public static void main(String[] args) {
      
      //declare and initiate a square matrix
      int[][] inputMatrix = {{2, 1, 3}, {4, 9, 6}, {1, 8, 4}};
      
      //declare and initiate two integer variable to store both the product values
      int mainDiagonalProd = 1;
      int antiDiagonalProd = 1;
      
      //find out main diagonal product
      for (int i = 0; i < inputMatrix.length; i++) {
         mainDiagonalProd *= inputMatrix[i][i];
      }
      
      //find out anti-diagonal product
      for (int i = 0; i < inputMatrix.length; i++) {
         antiDiagonalProd *= inputMatrix[i][inputMatrix.length - i - 1];
      }
      
      // print the result
      System.out.println("Main Diagonal Product: " + mainDiagonalProd);
      System.out.println("Anti-Diagonal Product: " + antiDiagonalProd);
   }
}

輸出

Main Diagonal Product: 72
Anti-Diagonal Product: 27

方法 2:使用使用者定義的方法

在這種方法中,矩陣元素將在程式中初始化。然後透過將矩陣作為引數傳遞來呼叫使用者定義的方法,並在方法內部根據演算法計算該矩陣對角線元素的乘積。

這裡我們同時找到了兩個對角線元素的乘積值。

示例

public class Main {
   public static void main(String[] args) {
      
      //declare and initiate a square matrix
      int[][] inputMatrix = {{12, 13, 14, 3}, {2, 23, 11, 1}, {53, 23, 23, 56}, {10, 1, 4, 5}};
      
      // Call the user-defined method
      int result = prodDiogonalElements(inputMatrix);
      
      // Print the result
      System.out.println("The multiplication of diagonal elements is: " + result);

   }
   
   // user-defined method to find out product value of diagonal elements
   public static int prodDiogonalElements(int[][] mat){
      
      // declare and initiate a integer variable to store the product value
      int result = 1;
      
      // initiate the loop and multiply the elements of diagonal 
      for (int a = 0; a < mat.length; a++){
         result *= mat[a][a];
      }
      return result;
   }
}

輸出

The multiplication of diagonal elements is: 31740

在本文中,我們探索了使用 Java 程式語言查詢矩陣對角線元素乘積的不同方法。

更新於: 2023 年 5 月 4 日

606 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.