Java-存储数组中字符串的字符

时间:2016-11-24 14:44:42

标签: java arrays string indexoutofboundsexception

    for (int j = 0; j <= l - 1; j++) 
   { char c1 = str.charAt(j);
      n[j] = c1;
   }
//It is showing error-arrayIndexoutofbounds

'str'是输入的字符串,'l'是字符串str的长度。 我必须将其所有字符存储在一个数组中,并且数组'n'是char类型 我试图通过for循环存储它,但它显示错误。请帮帮我。 只需删除等于登录你的循环它只会小于

3 个答案:

答案 0 :(得分:4)

无需手动创建和填充此类数组,有一个内置方法String.toCharArray可以为您完成任务:

n = str.toCharArray()

答案 1 :(得分:4)

您的数组n应声明为:

char[] n = new char[str.length()];

这会创建一个数组,其中包含将所有String个字符放入其中所需的确切大小。

当您访问数组的非法索引时会抛出ArrayIndexOutOfBoundsException,在这种情况下,我怀疑您的数组小于String的长度。

答案 2 :(得分:2)

如果要将字符串转换为字符数组,则字符串类已经有名为toCharArray()的方法。

String str = "StackOverflow";
char[] charArray = str.toCharArray();

然后如果你想检查数组的内容打印它。

for(int i = 0;i < charArray.length ; i++) {
     System.out.print(" " + charArray[i]);
}