2016-03-20 9 views
0

コードはコンパイルされ、渡される文字列に対しても機能しますが、母音のチェックには使用できません。それは、文字列の範囲外のエラーをスローし、私は理由が分からない。子音のチェックが機能しています。ここで 文字列の境界外例外を取得する

はコードです:

public String catchword(String word){ 
    int x = 0; 
    for(x=0; x<word.length()+1; x++){ 
     boolean v = Vowel(word.charAt(x)); 
     boolean c = Consonant(word.charAt(x)); 
     if (x<word.length()-1){ 
      v = Vowel(word.charAt(x+1)); 
     } else{ 
      v = true; 
     } 

     if (c == true && v == true){ 
      word = word.substring(0,x+1) + "op" + word.substring(x+1,word.length()); 
      x = x+3; 
     } 
    } 
    System.out.print(word); 
    return word; 
} 
+2

'for(x = 0; x Tunaki

+0

ああ。私は今問題を見る。感謝 – john

答えて

0

for(x=0; x<word.length()+1; x++)

x<word.length()+1 

にする必要があります

x<word.length()-1 

wordの最大指数はword.length()-1

です

word.charAt(x+1)にも問題があります。 word.length() - 1は最大の指数です。xと同じになるとIndexOutOfBoundsExceptionになります。

+0

ありがとう!それは今働いている – john

関連する問題