查找锯齿状阵列的总和

时间:2014-09-24 22:46:14

标签: java jagged-arrays

*作业

我正在尝试在数组中添加值。使用我在下面写的sum方法,该程序仅适用于没有锯齿的数组。如果我测试一个锯齿状数组,我会得到一个IndexOutOfBoundsException。如果数组是锯齿状的,我应该尝试使用此方法的下一步是什么?

int sum() {
    int sum = 0;
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            sum += array[j][i];
        } 
    }
return sum;
}

4 个答案:

答案 0 :(得分:2)

你的方法很接近,但它有一个小错误 - 这个

sum += array[j][i];

应该是

sum += array[i][j];

请注意,您的内部循环正在迭代array[i]

答案 1 :(得分:1)

反转指数:

sum += array[i][j];

答案 2 :(得分:1)

您正在混合索引。您首先遍历行(i),然后遍历列(j),但是当您访问数组元素时,您使用j表示行和{{1}对于列。

应该是:

i

答案 3 :(得分:1)

更改

sum += array[j][i];

sum += array[i][j];