Java 计算各行元素之和并查找其和值最大的那一行
时间: 2024-09-25 20:14:09 浏览: 20
在Java中,要计算矩阵(二维数组)的每一行元素之和,并找出和最大的一行,你可以创建一个函数,遍历每一行并对每个元素求和,同时跟踪当前最大和以及对应的行数。以下是一个简单的示例:
```java
public class MatrixSum {
public static int[] maxRowSum(int[][] matrix) {
if (matrix == null || matrix.length == 0) {
throw new IllegalArgumentException("Matrix is empty or null");
}
int maxSum = Integer.MIN_VALUE;
int maxRowIndex = -1;
for (int i = 0; i < matrix.length; i++) {
int sum = 0;
for (int j = 0; j < matrix[i].length; j++) {
sum += matrix[i][j];
}
if (sum > maxSum) {
maxSum = sum;
maxRowIndex = i;
}
}
// 返回一个包含最大和及其索引的数组
return new int[]{maxSum, maxRowIndex};
}
public static void main(String[] args) {
int[][] exampleMatrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[] result = maxRowSum(exampleMatrix);
System.out.println("The row with the maximum sum is at index " + result[1] + " with a sum of " + result[0]);
}
}
```
在这个例子中,`maxRowSum` 函数接收一个二维数组 `matrix`,内部首先检查是否为空。然后,它通过两层循环分别计算每行的和,如果发现新的最大和,就更新 `maxSum` 和 `maxRowIndex`。最后返回最大和及其对应行号。
如果你有特定的矩阵需要处理,只需替换 `exampleMatrix` 即可。