数组索引越界,但不应该是
我正在做一个很简单的java程序,我得到以下错误(其中ñ是基于从控制台先前输入的随机数):数组索引越界,但不应该是
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: n
是应该引起麻烦的行是if语句这里:最低数目的
for(int i = 0; 0 < x; i++){
if(TalArray[i] < min){
min = TalArray[i];
}
}
变量“分钟”被预先initzialized到TalArray [0]和被跟踪。所提及的所有变量都是INT-变量
正确的代码...
for(int i = 0; i < x; i++){
if(TalArray[i] < min){
min = TalArray[i];
}
}
oups:S我感到尴尬^^' – 2012-08-12 23:05:49
哈哈它碰巧是我们最好的... – 36redsoxfan 2012-08-12 23:13:11
目前还不清楚是什么的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++)
如果'x'是正数,'0
pb2q
2012-08-12 22:58:07
循环确实终止 - 通过抛出ArrayIndexOutOfBoundsException – 2012-08-12 23:07:19