Java 找到矩阵对角元素的乘积

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编程语言找到矩阵对角元素乘积的不同方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程