【问题标题】:Finding the Sum of a Jagged Array求交错数组的总和
【发布时间】:2014-09-24 22:46:14
【问题描述】:

*家庭作业

我正在尝试将值添加到数组中。使用我在下面编写的 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;
}

【问题讨论】:

  • 你测试了array[i].length,但你却访问了array[j]

标签: java jagged-arrays


【解决方案1】:

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

sum += array[j][i];

应该是

sum += array[i][j];

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

【讨论】:

    【解决方案2】:

    反转索引:

    sum += array[i][j];
    

    【讨论】:

      【解决方案3】:

      您正在混合索引。您首先循环遍历行 (i),然后遍历列 (j),但是当您访问数组元素时,您将 j 用于行,将 i 用于列。

      应该是:

      sum += array[i][j];
      

      【讨论】:

        【解决方案4】:

        改变

        sum += array[j][i];

        sum += array[i][j];

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-23
          • 2021-02-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-08
          • 2014-12-04
          相关资源
          最近更新 更多