Java(charAt)中的字符串索引超出范围错误
快速提问。我在程序中有以下代码:
input = JOptionPane.showInputDialog("Enter any word below")int i = 0;
for (int j = 0; j <= input.length(); j++)
{
System.out.print(input.charAt(i));
System.out.print(" "); //don't ask about this.
i++;
}
- 输入是用户输入
i
是值为0的整数,如所见
运行代码会产生以下错误:
线程“主”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:
java.lang.String.charAt为6 (
program.main(program.java:15))
如果我将charAt
int
改为0而不是i
,则不会产生错误…
该怎么办?问题是什么?
回答:
更换:
j <= input.length()
…与…
j < input.length()
Java String
字符索引是从0开始的,因此循环终止条件input
的长度应为-1。
当前,当循环在终止前达到倒数第二次迭代时,它input
以等于input
的长度的索引引用字符,从而抛出StringIndexOutOfBoundsException
(a
RuntimeException
)。
以上是 Java(charAt)中的字符串索引超出范围错误 的全部内容, 来源链接: utcz.com/qa/416302.html