gpt4 book ai didi

java - ArrayIndexOutOfBoundsException,但元素打印正常

转载 作者:太空宇宙 更新时间:2023-11-04 13:36:32 24 4
gpt4 key购买 nike

此错误消息的含义是什么:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at Program.main(Program.java:123)

这是第 123 行:

System.out.println(tempHolder[1]);

也就是说没有数组元素1?然而,这是一个循环,并且该位置的所有 100 个元素都打印得很好。代码如下:

数组 splitResult 有 100 个元素。

    int counter = 0;
for (String s: splitResult){
counter++;
counterForRegex = String.valueOf(counter);
stringRegex = "(\\s*)?" + counterForRegex + "(\\s*)?";
patternCounter = Pattern.compile(stringRegex);
tempHolder = patternCounter.split(s, 2); // This takes each of the 100 elements and separates it into 0) before the number, and 1) after the number, putting each element in array tempHolder.
splitResult[counter-1] = tempHolder[0];
System.out.println(tempHolder[1]); // These all print fine.
}

最佳答案

tempHolder = patternCounter.split(s, 2);//当未找到数字时,拆分结果仅返回输入。

tempHolder.length 将为 1 ,在这种情况下,尝试访问 tempHolder[1] 时会抛出 java.lang.ArrayIndexOutOfBoundsException。

 tempHolder = patternCounter.split(s, 2); 
if(tempHolder.length>=2){//check the length of tempHolder
splitResult[counter-1] = tempHolder[0];
System.out.println(tempHolder[1]); // These all print fine.
}

关于java - ArrayIndexOutOfBoundsException,但元素打印正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com