gpt4 book ai didi

java - java中的字符串索引越界错误(charAt)

转载 作者:行者123 更新时间:2023-12-01 18:16:26 30 4
gpt4 key购买 nike

快速提问。我在程序中有这段代码:

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 的整数,如图所示

运行代码会产生此错误:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(Unknown Source)
at program.main(program.java:15)

如果我将 charAt int 更改为 0 而不是 i,则不会产生错误...
可以做什么?有什么问题吗?

最佳答案

替换:

j <= input.length()

...与...

j < input.length()

Java String 字符索引是从 0 开始的,因此循环终止条件应为 input 的长度 - 1。

目前,当循环到达终止前的倒数第二次迭代时,它会引用索引处等于 input 长度的 input 字符,这会引发 StringIndexOutOfBoundsException (RuntimeException)。

关于java - java中的字符串索引越界错误(charAt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60355422/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com