我正在制作一个非常简单的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变量
答案 0 :(得分:3)
正确的代码是......
for(int i = 0; i < x; i++){
if(TalArray[i] < min){
min = TalArray[i];
}
}
答案 1 :(得分:1)
目前还不清楚代码中x
的值是什么,但无论如何,循环条件应如下所示:
for (int i = 0; i < TalArray.length; i++)
或者像这样,为了避免在每次迭代时访问长度:
for (int i = 0, x = TalArray.length; i < x; i++)
0 < x
比较错误:你没有在循环中修改x
的值,所以循环将进入无限循环或根本不进入循环,具体取决于初始值x
。
答案 2 :(得分:0)
问题是,你的变量X
永远不会改变
您的条件0 < x
始终为true
。
我猜正确的条件是
for(int i = 0; i < x; i++)