你能帮忙解决这个java.lang.ArrayIndexOutOfBoundsException:0吗?

时间:2016-01-25 03:43:16

标签: java indexoutofboundsexception

我收到了这个梦幻般的筹码:

Exception in thread "AWT-EventQueue-0"
java.lang.ArrayIndexOutOfBoundsException: 0
at test.Visual.selection(Visual.java:156)
at test.Menu.actionPerformed(Menu.java:161)

Visual.java - 第156行是while语句

vidergrille();
decochage();
String[] temp=map.file.reader();
int index=map.sudoku.random(0,temp.length);
switch(levelofdifficulty){
    case 1:
        while(!(Integer.parseInt(temp[index].substring(85,temp[index].length()))<=5000)){
            index=map.sudoku.random(0,temp.length);
        }
        break;

Menu.java - 第161行是map.supanel

else if(evt.getSource()==m123){
    try {
        map.supanel.selection(1);
    } catch (IOException ex) {
        Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex);
    }
}

1 个答案:

答案 0 :(得分:1)

这里有两个问题,而不仅仅是ArrayIndexOutOfBoundsException。对于那个直接的问题,根据错误消息,你的数组是空的,你的代码试图找到索引0的第一个元素,它不能,因为空数组没有元素。

话虽如此,根据您在问题的上下文中看到的内容,您似乎试图通过String[] temp=map.file.reader();行从文件中读取一些数据。

所以,我会修复reader()函数或它读取的数据。另外,我强烈建议您为从该函数中读取的内容编写一些验证代码。