私はsimillar質問が求められていることを知っているが、それらはすべて同じ問題を抱えていた:彼らはjava.lang.StringIndexOutOfBoundsException:範囲外の文字列インデックス:
i <= aString.lenth()
のようなものを持っていたループの内側に
私は
を使用しましたi < phrase.length();
私はまだエラーが発生しています。私も試しました
i < phrase.length()-1;
何が悪いですか?
ありがとうございました。 StringBuilder.setCharAt
replaced.setCharAt(currChar, ch);
へのお電話で
public class WordPlay {
public boolean isVowel(char c) {
if(c=='a' || c=='A' || c=='e' || c=='E' || c=='i' || c=='I' || c=='o' || c=='O' || c=='u' || c=='U') {
return true;
}
else
{
return false;
}
}
public void testIsVowel() {
System.out.println(isVowel('F'));
}
public String replaceVowels (String phrase, char ch){
StringBuilder replaced = new StringBuilder(phrase);
for (int i = 0; i<phrase.length(); i++) {
char currChar = phrase.charAt(i);
if (isVowel(currChar)){
//the line below causes the error
replaced.setCharAt(currChar, ch);
}
}
return replaced.toString();
}
public void testReplaceVowels() {
System.out.println(replaceVowels("Hello World", '*'));
}
}
@JohnSmithエラーがタイトルにあります - java.lang.StringIndexOutOfBoundsException:文字列インデックスが範囲外です: – Ekaterina1234
どのラインでエラーが表示されますか?あなたの質問を編集し、スタックトレースの関連部分を含めてください。 –
それは反復が起こるか? – Aimnox