这是我的Pig Latin的一部分。这是一种方法,我需要返回单词的第一个元音。如果没有元音,我想返回单词长度。但是当我返回单词的长度时出现错误。返回isVowel时,错误为“ else”。
private static int indexOfVowel(String word) {
int index = 0;
for (int i = 0; i < word.length(); i++)
if (isVowel(word.toLowerCase().charAt(i))) {
return index;
} else {
return isVowel(word.length());
}
}
private static boolean isVowel(char ch) {
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':
return true;
default: return false;
}
}
}
答案 0 :(得分:0)
您不能将整数传递给需要字符的方法。我想您想要的是,如果您在单词中的任何地方都找不到元音,您想返回单词的长度。
因此,在for循环完成之后,您需要返回word.length(),即您查看了单词中的所有字符,但未找到元音。该方法需要写为:
private static int indexOfVowel(String word) {
int index = 0;
for (int i = 0; i < word.length(); i++)
if (isVowel(word.toLowerCase().charAt(i)))
return index;
return word.length();
}