如何解决线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException错误?

时间:2017-07-16 23:56:47

标签: java indexoutofboundsexception

任何人都可以帮我修复此异常错误吗?提前致谢。

错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 13
    at HelloWorld.main(HelloWorld.java:13)

错误指向此行:

String str2 = str + (toCharArray[toCharArray.length] + String.valueOf(i));

java代码:

import java.util.Calendar;

import java.util.TimeZone;

public class HelloWorld {
  public static void main(String[] args) {
    //System.out.println("Hello World");
        char[] toCharArray = String.valueOf((Calendar.getInstance(TimeZone.getTimeZone("utc")).getTimeInMillis() + 1825) ^ 16842788).toCharArray();
        String str = "";
        //String str2 = "";
        int i = 0;
        while (i < toCharArray.length) {
            String str2 = str + (toCharArray[toCharArray.length] + String.valueOf(i));
            i++;
            str = str2;
        }

        System.out.println("value of str:");
        System.out.println(str);
  }
}

2 个答案:

答案 0 :(得分:0)

数组的索引是基于0的。您正在尝试访问不存在的元素。如果你想获得最后一个元素,你应该如下所示。

toCharArray [toCharArray.length - 1]

答案 1 :(得分:0)

我相信你想在循环中使用的索引是i而不是toCharArray。

toCharArray [toCharArray.length]将始终抛出异常,因为数组的范围从0到length-1。