2016-03-20 20 views
0

kod derler ve ayrıca iletilen herhangi bir dize için çalışır, ancak ünlüleri denetlemek için çalışmaz. Bir String'i sınırlar dışına atar ve neden olduğu hakkında hiçbir fikrim yok. ünsüzler için kontrol çalışıyor. İşte Dize, sınırlar istisnası dışında

kodudur:

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

'(x = 0; x Tunaki

+0

ahh. Şimdi sorunu görüyorum. teşekkürler – john

cevap

0

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

x<word.length()+1 

yılında olmalı

x<word.length()-1 

word maksimum indeks word.length()-1

olduğunu

Ayrıca, word.charAt(x+1)'da da sorun yaşayacaksınız. word.length() - 1, x eşdeğeri IndexOutOfBoundsException yeniden alacağınız zaman azami dizin.

+0

teşekkürler! şuan çalışıyor – john

İlgili konular