错误指向的代码是:
letters[addr(tmp.charAt(0))] = Integer.parseInt(tmp.substring(2,tmp.length()))
它在main中初始化:
int letters[] = new int[26]; //holds variables
for(int i = 0; i < 26; i++)
{
letters[i] = i+1;
}
错误表示字符串Index超出范围:-1。我很确定这不是控制器正在这样做,因为当我评论出控制它做了同样的事情。我想弄清楚如何解决这个问题,并希望得到任何帮助。
答案 0 :(得分:1)
按如下方式放置if条件
String tmp = scanner.next();
if(!tmp.length()<=1)
{
letters[addr(tmp.charAt(0))] = Integer.parseInt(tmp.substring(2,tmp.length()))\
}
else
{
//do something to handle ArrayOutOfBondsException
}