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 - 声明并初始化一个名为输入矩阵的3×3方阵。
-
步骤2 - 声明并初始化两个变量mainDiagonalProd和antiDiagonalProd,分别用于存储矩阵的主对角线和反对角线上的值的乘积。
-
步骤3 - 通过遍历矩阵,计算主对角线上的值的乘积,每次在行和列相等的索引处乘以对应的值。
-
步骤4 - 然后通过遍历矩阵,计算反对角线上的值的乘积,每次在行和列的和等于矩阵长度减去一的索引处乘以对应的值。
-
步骤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编程语言找到矩阵对角元素乘积的不同方法。