0

結果を完全に出力する単純なネストされた for ループがありますが、次をスローします。

スレッド「メイン」での例外 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++;
        }
4

2 に答える 2

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++;
    }

インデックスを混同したと思います...乾杯!

于 2013-04-02T20:54:57.553 に答える
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++;
    }
于 2013-04-02T20:55:16.537 に答える