0

错误指向的代码是:

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;
    }

该错误表示字符串索引超出范围:-1。我很确定不是控件在这样做,因为当我注释掉控件时它做了同样的事情。我正试图弄清楚如何解决这个问题,并希望得到任何帮助。

4

1 回答 1

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
}
于 2013-04-17T13:48:47.883 回答