#java #subroutine
#java #подпрограмма
Вопрос:
/ * Находит первую гласную в слове и возвращает ее местоположение * */
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);
}**
Комментарии:
1.
if (isVowel(letter2) == true){
->if (isVowel(letter2)){
. Нет необходимости сравнивать логические значения, подобные этому.
Ответ №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;
}