线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:0

时间:2016-02-12 14:32:30

标签: java indexoutofboundsexception

每当我编译代码时,我总是会收到此错误:

线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:0

我知道错误是在所选的数组[]中,但我认为我已正确初始化它。谁能说出问题出在哪里?

 public  boolean[] chosen=new boolean[n];

 public void clear() {
     for (int k= 0; k < n; k++)
     {
    chosen[k] = false;

     }

我在同一个问题上看到了其他答案,但没有一个是有帮助的。 谢谢。

1 个答案:

答案 0 :(得分:1)

此问题与执行的操作顺序有关:

  • 使用0的变量choosen的默认值创建数组n(当包含它的对象被实例化时)。现在数组的长度为0。

  • n设置为不同于0的值。

  • 调用方法clear()后。在方法清除中,您尝试访问数组choosen中不存在的元素,因为先前使用大小为0创建了数组,并且对n的任何修改都不会影响数组。