2014-09-10 53 views
0

即時通訊真的困擾着這個作業的問題,我似乎無法讓我的代碼工作。我必須使用.indexOf()方法和。 subString()方法,它必須能夠計算大寫和小寫元音。任何如果有任何幫助將不勝感激我真的卡住了。查找字符串中元音的數量

public class StringAnalyzer 
{ 
public static int numberOfVowels(String aWord) 
{ 
    int num = 0; 
    int length = aWord.length() -1; 
    int index = 0; 
    String vowels = "aeiouAEIOU"; 
    while(index <= length) 
    { 
     aWord = aWord.substring(index, index +1); 
     num++; 
    } 
    return num; 
} 
public static void main(String[] args) 
{ 

    numberOfVowels("derp"); 

} 

} 
+0

爲什麼不使用'String#charAt(int)'方法? – Obicere 2014-09-10 23:26:46

+3

你的問題的一部分是你沒有增加你的while循環中的索引,所以循環不會結束。 – endorphins 2014-09-10 23:26:53

+0

您也沒有任何'indexOf()'在那裏。代碼中沒有任何內容檢查字母是否爲元音。 – csmckelvey 2014-09-10 23:28:49

回答

-1
public static int numberOfVowels(String aWord) { 
    int num = 0; 
    final String vowels = "aeiouAEIOU"; 

    for (int i = 0; i < aWord.length(); i++) { 
     if (vowels.indexOf(aWord.substring(i, i+1)) != -1) { 
     num++; 
     } 
    } 

    return num; 
} 

適合所有的要求,只使用子和的indexOf。 substring(i,i + 1)以索引i的形式獲取char作爲java.lang.String,並且indexOf檢查具有一個字符的字符串是否存在於元音字符串中。