计算给定字符串中元音的数量

时间:2017-07-21 23:48:40

标签: java string

我在类中创建一个方法来计算字符串中元音的数量。首先,我创建了一个方法isVowel(),用于测试字母是否为变量并返回boolean值。然后我使用isVowel()方法创建countVowels()方法。但是,我为countVowels()方法编写的代码似乎不起作用,但我的isVowel()方法确实有效,并在字母上测试时返回正确的值。知道我做错了吗?

public int countVowels() {
    int i = 0;
    int counter = 0;

    while (i < text.length()) {
        String letter = text.substring(i, i + 1); // the ith letter
        if (isVowel(letter) == true) {
            counter++;
        } else {
            counter = counter + 0;
        }
        i++;
    }
    return counter;
}

1 个答案:

答案 0 :(得分:0)

目前尚不清楚究竟是什么问题。但是,for循环更适合手头的任务而不是while循环。

public int countVowels(){
    int counter = 0;
    for(int i = 0; i < text.length(); i++){
        String letter = text.substring(i, i + 1);
        if(isVowel(letter))
           counter++;
    }
    return counter; 
}

然后你的isVowel方法应该是:

public boolean isVowel(String c){
    String vowels = "aeiouAEIOU";
    return vowels.contains(c);
}