【发布时间】:2015-10-30 00:33:40
【问题描述】:
我正在尝试获取用户输入并从最后一个字符开始打印单词,并将前一个字符添加到下一行,前面少一个空格,看起来它向右对齐。
但它显示有错误: System.out.print(word.charAt(count));
Scanner input = new Scanner(System.in);
System.out.print("Enter word to print: ");
String word = input.nextLine();
System.out.println();
int line, space, count = -1;
for (line = word.length(); line > 0; line--){
for (space = line; space > 0; space--){
System.out.print(" ");
count++;
}
for ( ; count <= word.length(); count++){
System.out.print(word.charAt(count));
}
System.out.println();
}
错误显示为:
Exception in thread "main java.lang.String.IndexOutOfBoundsException: S
at java.lang.String.charAt(String.java:658)
at HelloWorld.main(HelloWorld.java:22)
【问题讨论】:
-
请说明您收到的错误。请告诉我们您在研究此错误时发现了什么。
-
“但它显示有错误”请告诉我们这是什么,而不是让我们猜测。
-
您有一个
IndexOutOfBoundsException原因是您尝试从String获取超出当前长度的字符,记住,String是零索引