在Java中查找每一行和每一列的乘积


在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的值。Java中的矩阵只不过是一个多维数组,它表示多行和多列。

这里我们给出了一个包含一组元素的矩阵,根据问题陈述,我们必须找到每一行元素和每一列元素的乘积。

在本文中,我们将了解如何使用Java编程语言来实现这一点。

举几个例子

示例-1

给定矩阵 =

21 	22	23
24	25	26
27	28	29
  • 每一行的乘积 -

    • 第1行的乘积为:10626

    • 第2行的乘积为:15600

    • 第3行的乘积为:21924

  • 每一列的乘积 -

    • 第1列的乘积为:13608

    • 第2列的乘积为:15400

    • 第3列的乘积为:17342

示例-2

给定矩阵 =

9 	2	2	4
1	7	2	6
2	2	4	3
1	4	7	8
  • 每一行的乘积 -

    • 第1行的乘积为:144

    • 第2行的乘积为:84

    • 第3行的乘积为:48

    • 第4行的乘积为:224

  • 每一列的乘积 -

    • 第1列的乘积为:18

    • 第2列的乘积为:112

    • 第3列的乘积为:112

    • 第4列的乘积为:576

示例-3

给定矩阵 =

1 	2	3
4	5	6
7	8	9
  • 每一行的乘积 -

    • 行的乘积为:6

    • 行的乘积为:120

    • 行的乘积为:504

  • 每一列的乘积 -

    • 第1列的乘积为:28

    • 第2列的乘积为:80

    • 第3列的乘积为:162

算法

  • 步骤-1 - 声明并初始化一个称为inputMatrix的二维矩阵。

  • 步骤-2 - 遍历矩阵的每一行,并计算每一行中元素的乘积。然后将每一行的乘积打印到控制台。

  • 步骤-3 - 对列重复相同的逻辑,并计算每一列中元素的乘积。

  • 步骤-4 - 然后将每一列的乘积打印到控制台,并显示不同的消息。

语法

Java中的Matrix.length方法返回给定矩阵的长度。

下面是指其语法 -

inputMatrix.length

其中,“inputMatrix”指的是给定的矩阵。

多种方法

我们提供了不同方法的解决方案。

  • 通过使用矩阵元素的静态初始化

  • 通过使用用户定义的方法

让我们逐一查看程序及其输出。

方法-1:通过使用矩阵元素的静态初始化

在这种方法中,矩阵元素将在程序中初始化。然后根据算法计算该矩阵的行和列的元素的乘积。

示例

public class Main {
   public static void main(String[] args) {
      
      //declare and initialized a 2d matrix
      int[][] inputMatrix = {{1, 2, 3}, {1, 2, 3}, {1, 2, 3}};
      System.out.println("Product of each row:");
      
      //initiate the loop to find the rows product values
      for (int[] r : inputMatrix) {
         int prod = 1;
         for (int value : r) {
            prod *= value;
         }
         System.out.println("The product of the row is: " + prod);
      }
      System.out.println("\nProduct of each column:");
      
      //initiate the loop to find the columns product values
      for (int a = 0; a < inputMatrix[0].length; a++) {
         int prod = 1;
         for (int b = 0; b < inputMatrix.length; b++) {
            prod *= inputMatrix[b][a];
         }
         System.out.println("The product of the column " + (a + 1) + " is: " + prod);
      }
   }
}

输出

Product of each row:
The product of the row is: 6
The product of the row is: 6
The product of the row is: 6

Product of each column:
The product of the column 1 is: 1
The product of the column 2 is: 8
The product of the column 3 is: 27

方法-2:通过使用用户定义的方法

在这种方法中,矩阵元素将在程序中初始化。然后通过将矩阵作为参数传递来调用用户定义的方法,并在方法内部根据算法计算该矩阵的行和列的元素的乘积。

示例

public class Main {
   public static void main(String[] args) {
      int[][] inputMatrix = {{11, 22, 33}, {44, 55, 66}, {77, 88, 99}};
      
      //call the user-defined methods to print the product values
      findRowProduct(inputMatrix);
      findColumnProduct(inputMatrix);
   }
   
   //user-defined method to find the product of row elements
   private static void findRowProduct(int[][] mat) {
      System.out.println("Product of each row:");
      for (int[] r : mat) {
         int prod = 1;
         for (int value : r) {
            prod *= value;
         }
         System.out.println("The product of the row is: " + prod);
      }
   }
   
   //user-defined method to find the product of column elements
   private static void findColumnProduct(int[][] mat) {
      System.out.println("\nProduct of each column:");
      for (int a = 0; a < mat[0].length; a++) {
         int prod = 1;
         for (int b = 0; b < mat.length; b++) {
            prod *= mat[b][a];
         }
         System.out.println("The product of the column " + (a + 1) + " is: " + prod);
      }
   }
}

输出

Product of each row:
The product of the row is: 7986
The product of the row is: 159720
The product of the row is: 670824

Product of each column:
The product of the column 1 is: 37268
The product of the column 2 is: 106480
The product of the column 3 is: 215622

在本文中,我们探索了使用Java编程语言找到矩阵中每一行和每一列元素乘积的不同方法。

更新于: 2023年5月4日

500 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告