我有一个包含60个值的数组,当我单击下一个按钮时,它将以升序循环遍历数组的所有值,直到数字60,然后再次从第一个开始。
我还有一个上一个按钮,因此可以降低数值而不是提高数值。当我在第一个数组值[0]上单击上一个按钮时,我的应用程序崩溃了,我不确定为什么。
这是我的代码:
public String nextFact() {
i++;
if(i >= facts.length) {
i = 0;
}
return facts[i];
}
public String previousFact() {
i--;
if(i < 0) {
i = facts.length;
}
return facts[i];
}
最佳答案
将ArrayIndexOutOfBoundsException
更改为i
时会得到facts.length
,因为有效的数组索引的范围是从0
到facts.length - 1
。将i
设置为facts.length - 1
。
if(i < 0) {
i = facts.length - 1;
}
大于或等于长度的环绕式代码应该可以正常工作。