使用矩形数组的简单嵌套for循环超出范围异常

时间:2013-04-02 20:51:59

标签: java nested-loops multidimensional-array

我有一个简单的嵌套for循环,它可以完美地输出结果,然后抛出一个:

线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:4

数组是4行4列,我试图对列进行总计,所以我基本上只是颠倒了嵌套循环。

        rowIndex = 1;
        for (int i = 0; i < regions[i].length; i++)
        {
            int sum = 0;
            for (int j = 0; j < regions.length; j++)
            {
                sum += regions[j][i];
            }
            System.out.println("Q" + rowIndex + ": " + currency.format(sum));
            rowIndex++;
        }

2 个答案:

答案 0 :(得分:2)

这不应该看起来像......

    rowIndex = 1;
    for (int j = 0; j < regions.length; j++) // here regions.length
    {
        int sum = 0;
        for (int i = 0; i < regions[j].length; i++) // here index j
        {
            sum += regions[j][i];
        }
        System.out.println("Q" + rowIndex + ": " + currency.format(sum));
        rowIndex++;
    }

认为你混淆了指数......干杯!

答案 1 :(得分:2)

你搞乱了数组的索引。我猜你的代码应该是这样的:

   rowIndex = 1;
    for (int i = 0; i < regions.length; i++)
    {
        int sum = 0;
        for (int j = 0; j < regions[i].length; j++)
        {
            sum += regions[i][j];
        }
        System.out.println("Q" + rowIndex + ": " + currency.format(sum));
        rowIndex++;
    }