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循环存储它,但它显示错误。请帮帮我。 只需删除等于登录你的循环它只会小于
答案 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]);
}