每当我编译代码时,我总是会收到此错误:
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:0
我知道错误是在所选的数组[]中,但我认为我已正确初始化它。谁能说出问题出在哪里?
public boolean[] chosen=new boolean[n];
public void clear() {
for (int k= 0; k < n; k++)
{
chosen[k] = false;
}
我在同一个问题上看到了其他答案,但没有一个是有帮助的。 谢谢。
答案 0 :(得分:1)
此问题与执行的操作顺序有关:
使用0的变量choosen
的默认值创建数组n
(当包含它的对象被实例化时)。现在数组的长度为0。
将n
设置为不同于0的值。
调用方法clear()
后。在方法清除中,您尝试访问数组choosen
中不存在的元素,因为先前使用大小为0创建了数组,并且对n的任何修改都不会影响数组。