在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编程语言找到矩阵中每一行和每一列元素乘积的不同方法。