如何计算Java二维数组中每行的元素和?
实现二维数组每行总和的
rowSums方法 没问题,我来帮你搞定这个需求!基于你现有的sum方法逻辑,我们可以很轻松地修改出计算每行单独总和的实现。
核心思路
你的原方法是把所有元素累加到一个总变量里,而我们需要为每一行单独维护一个累加值,最后把这些值收集到一个数组中返回。具体步骤如下:
- 先处理边界情况(比如输入数组为空或
null),避免运行时错误; - 创建一个结果数组,长度和输入二维数组的行数一致,用来存储每行的总和;
- 遍历每一行,对当前行的所有元素求和,将结果存入结果数组对应位置;
- 返回结果数组。
完整代码实现
public static int[] rowSums(int[][] array) { // 处理空输入的边界情况 if (array == null || array.length == 0) { return new int[0]; } // 结果数组长度等于二维数组的行数 int[] rowTotals = new int[array.length]; for (int i = 0; i < array.length; i++) { int currentRowSum = 0; // 遍历当前行的所有元素,计算总和 for (int k = 0; k < array[i].length; k++) { currentRowSum += array[i][k]; } // 将当前行总和存入结果数组对应位置 rowTotals[i] = currentRowSum; } return rowTotals; }
代码说明
- 边界处理:加入了对
array == null或array.length == 0的判断,返回空数组,避免出现NullPointerException; - 结果数组初始化:
rowTotals的长度和输入数组的行数一一对应,保证每一行的总和都有位置存放; - 双层循环逻辑:外层循环控制行的遍历,内层循环计算当前行的元素总和,最后把值赋值给
rowTotals[i]。
使用示例
比如你有这样的二维数组:
int[][] testArray = {{1, 2, 3}, {4, 5}, {6}}; int[] result = rowSums(testArray);
最终result数组的值会是[6, 9, 6],分别对应三行的总和。
内容的提问来源于stack exchange,提问作者Kasey
相关产品推荐
相关产品推荐

