Index 1 out of bounds for length 1

请问一下有没有大神可以帮忙看一下,这种问题应该怎么解决?

 

数组越界了,数组只有一个元素,下标应该是0.

数组下标越界异常,数组长度才只有1,但数组下标也是1,但实际下标只有0,越界了。

原因如下:你使用info.split("\t")没有生效,将它们分成12份,下标为0-11

解决办法:首先你要保证你的txt文件通过分割符分割可以变成12份,另外中间有11个空格或者制表符

上面的要求都满足了之后,将info.split("\t")里的 \t改成 \\s+也就是info.split(" \\s+")

其实就是采用了正则表达式里的空格识别分割,就算中间有两个空格或两个以上的哪怕制表符,分割的时候只会将这些整体当成一个分割符,这样不容易出错,也满足你的需求,你的程序可能没有识别制表符(\t)导致的,所以使用info.split(" \\s+")比较好

意思是,数组长度才只有1,但数组下标也是1,越界了。下标范围是0到数组长度-1

你双击错误定位一下错误所在行吧

估计是这个info.split拆分后的ss数组与你想象的不一样。只有一个成员

int n = 0;
String ss[12];
while((info=br.readLine() != null)
{
    ss[n] = info;
    n++;
    if(n==12)
    {
        Room getRoom = new Room(ss[0],...,ss[11]);
        arr.addRoom();
        n=0;
    }
}
if(n==12)
{
    Room getRoom = new Room(ss[0],...,ss[11]);
    arr.addRoom();
}

 

 

 

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632