有人可以帮我吗?我不明白这个异常:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 9
at java.lang.String.charAt(Unknown Source)
at charPerLine.main(charPerLine.java:13)
这是负责的代码:
import java.util.*;
public class charPerLine {
public static void main(String[] args)throws StringIndexOutOfBoundsException {
Scanner sc=new Scanner(System.in);
System.out.print("Type any name:");
String s=sc.next();
int j= s.length()+1;
for(int i=0;i<=j;i++){
System.out.println(s.charAt(i));
}
}
}
最佳答案
您正在尝试直接访问少于 10 个字符的字符串的第 10 个字符。像这样的东西:
"12345".charAt(9)
请记住,字符串索引是从 0 开始的,因此 .charAt(9)
=> 第 10 个字符。因此 "123".charAt(3)
也会抛出异常。
关于Java编程异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5209548/