我知道simillar问题已被提出,但他们都有同样的问题:在循环内部他们有类似的东西
gem install pry
我用过
i <= aString.lenth()
我仍然收到错误。我也试过
i < phrase.length();
任何想法有什么不对?
感谢。
i < phrase.length()-1;
答案 0 :(得分:6)
replaced.setCharAt(currChar, ch);
第一个参数应该是i
,而不是currChar
:
replaced.setCharAt(i, ch);
您应该传递要设置字符的索引,而不是字符本身。
currChar
的{{1}}值可能高于int
的长度,导致异常,但如果不是,则会得到奇怪的输出没有异常,这更糟糕。
答案 1 :(得分:2)
以下代码是 AbstractStringBuilder 类的 setCharAt方法。
{{1}}
如果您将字符'a'传递给setCharAt方法,它将从字符隐式转换为 int value 97 at index 。 它使 java.lang.StringIndexOutOfBoundsException 。谢谢:))