1
        static final int[] HotDogdb = {30, 45, 44, 37,51};
    static final int[] ToastedChickendb = {25, 30, 45, 15,33};
    static final int[] ToastedSteakdb = {10, 15, 12, 16,17};
    static final int[] ToastedEggTdb = {14, 12, 17, 20,16};
    static final int[] ToastedSteakEdb ={5, 8, 3, 8,6};
    static final int[] ChickenRolldb = {27, 28, 23,20,21};
    static final int[] SteakRolldb = {19, 22, 23, 21,18};
    static final int[] EggTomatodb = {15, 16,10, 12,11};
    static final int[] CheeseTomatodb = {18, 19, 22, 21,20};
    static final int[] SteakEggdb = {10, 16, 13, 17,15};
    static final int[] tCheeseTomatodb = {23, 30, 27, 40,37};
    static final int[][] sales = new int[][] { HotDogdb, ToastedChickendb, ToastedSteakdb, ToastedEggTdb, ToastedSteakEdb,ChickenRolldb,SteakRolldb,EggTomatodb,CheeseTomatodb, SteakEggdb, tCheeseTomatodb };

したがって、基本的に、これまでに取得したもの全体で index @ 0 の合計を見つける

int total8 = 0;
int i;


for (i=0; i <= 11; i++){
total8 = total8 +  MyConstants.sales[i][0];}
                                jTextArea6.setText(""+total8);
4

1 に答える 1

2

の代わりにi <= 11、次を使用しますi < 11

for (i=0; i < 11; i++) {

それ以外の場合、isであるArrayOutOfBoundsExceptionため を取得し、を使用しているため、最後の反復では存在しないものにアクセスしようとします (Java の配列は0-indexedであることに注意してください)。sales.length11i <= 11sales[11]

別のオプションは、を使用することi < sales.lengthです。このように、配列にさらに要素を追加する場合、for-loopのコードを変更する必要はありません。

for (i=0; i < sales.length; i++) {
于 2012-09-09T11:39:52.970 に答える