我在这个代码段上收到错误
char a[] = new char[5];
Scanner sc = new Scanner(System.in);
System.out.println("Please enter values");
for (int i = 0; i < 5; i++) {
a[i] = sc.next().charAt(i);
}
答案 0 :(得分:0)
你应该检查输入字符串长度:
for (int i = 0; i < 5; i++) {
String str = sc.next();
if (str.length() > i) {
a[i] = str.charAt(i);
}
}
但你的算法很奇怪。
答案 1 :(得分:0)
你这样做:
for (int i = 0; i < 5; i++) {
a[i] = sc.next().charAt(i);
}
但如果用户键入少于5个字符的字符串
,该怎么办?然后你试图读取一个超出界限的元素......
这清楚地解释了代码中错误的原因..
验证输入甚至更好,使for循环从0到输入len。