子例程始终返回-1值,如何重新排列以使其发挥作用



/ *在单词中找到第一个元音并返回其位置 * */


public static int findFirstVowel (String word) {
    int consonant = 0;
    for(int count = 0; count < word.length(); count++){
        word.toUpperCase();
   char letter1 = word.charAt(count);
   String letter2 = (Character.toString(letter1));
   if (isVowel(letter2) == true){
    //consonant = 0;
    return (count);
     }
    }
    return (-1);
}**

您的问题与word.touppercase()。由于字符串在Java中是不可变的,因此可以创建一个新的大写字符串,您不使用它。做您要做的事情的正确方法是:

public static int findFirstVowel (String word) {
    int consonant = 0;
    word = word.toUpperCase(); // you need to set word back to the uppercase version
    for (int count = 0; count < word.length(); count++) {
        char letter1 = word.charAt(count);
        String letter2 = (Character.toString(letter1));
        if (isVowel(letter2)) {
            return count;
        }
    }
    return -1;
}

相关内容

最新更新