数组越界,但一到早

时间:2017-05-03 23:30:25

标签: java arrays for-loop

首先是代码段。

double array [][]= new double [10000][11];

   double test=333;

   array[0][0]=300;
   array[0][1]=400;
   array[0][2]=500;
   array[0][3]=600;
   array[0][4]=700;
   array[0][5]=200;
   array[0][6]=200;
   array[0][7]=200;
   array[0][8]=200;
   array[0][9]=200;
   array[0][10]=200;




   int tiere =0;

   int i=0;

   for (int stelle=0;array[i][stelle]!=0;stelle++){

       tiere++;
   }
   System.out.println(tiere);


   if (tiere<11) test=1;
   else test=array[0][0];

  System.out.println(test);


}
}

正如你所看到的那样,我展示了数组使用了多少行,如果是10,它会给我这个值。但是如果它的最大值是11,那么“阵列超出界限”是错误的吗?

1 个答案:

答案 0 :(得分:1)

您需要将for循环更改为仅循环有效索引以避免出现超出范围的错误。然后在for循环中你应该把你的if检查!= 0

row = [0 0 3 3]