数组越界错误

Taf*_*udo 1 java

我想编写将字符串拆分为单独的子串的代码,每个子串都有3个字符并将它们分配给字符串数组,例如字符串"abcdefg"可以吐到"abc","bcd","cde","efg"和这些被分配给一个字符串数组.我有以下代码得到一个错误:

String[] words = new String[] {};
String sequence = "abcdefg";
int i;

for(i = 0; i <= sequence.length()-3; i++) {          

    words[i] = sequence.substring(i, 3+i);
    System.out.println(words[i]);
}
Run Code Online (Sandbox Code Playgroud)

Ruc*_*era 6

String[] words=new String[] {}; // empty array
Run Code Online (Sandbox Code Playgroud)

你有空数组.

words[i] // when i=0
Run Code Online (Sandbox Code Playgroud)

array0索引空匹配时没有索引.

解.

您可以在定义时定义数组的大小array.最好的办法是让lengthsequence

String sequence="abcdefg";
String[] words=new String[sequence.length()];
Run Code Online (Sandbox Code Playgroud)