我收到了这个梦幻般的筹码:
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);
}
}
答案 0 :(得分:1)
这里有两个问题,而不仅仅是ArrayIndexOutOfBoundsException
。对于那个直接的问题,根据错误消息,你的数组是空的,你的代码试图找到索引0的第一个元素,它不能,因为空数组没有元素。
话虽如此,根据您在问题的上下文中看到的内容,您似乎试图通过String[] temp=map.file.reader();
行从文件中读取一些数据。
所以,我会修复reader()
函数或它读取的数据。另外,我强烈建议您为从该函数中读取的内容编写一些验证代码。