[英]Array index out of bounds but shouldn't be
我正在制作一个非常简单的java程序,我得到以下错误(其中n是基于控制台先前输入的随机数):
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: n
应该引起麻烦的一行是if语句:
for(int i = 0; 0 < x; i++){
if(TalArray[i] < min){
min = TalArray[i];
}
}
变量“min”先前已初始化为TalArray [0]并跟踪最低数字。 提到的所有变量都是int变量
正确的代码是......
for(int i = 0; i < x; i++){
if(TalArray[i] < min){
min = TalArray[i];
}
}
目前尚不清楚代码中x
的值是什么,但无论如何,循环条件应如下所示:
for (int i = 0; i < TalArray.length; i++)
或者像这样,为了避免在每次迭代时访问长度:
for (int i = 0, x = TalArray.length; i < x; i++)
0 < x
比较是错误的:你没有修改循环中x
的值,所以循环将进入无限循环或根本不进入循环,具体取决于x
的初始值。
问题是,你的变量X
永远不会改变所以你的条件0 < x
总是为true
。
我想正确的条件是
for(int i = 0; i < x; i++)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.