在 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 程式語言查詢矩陣對角線元素乘積的不同方法。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP