无法修复Array Index Out of Bounds的错误

时间:2013-04-17 13:39:46

标签: java

错误指向的代码是:

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。我很确定这不是控制器正在这样做,因为当我评论出控制它做了同样的事情。我想弄清楚如何解决这个问题,并希望得到任何帮助。

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
}