Почему мой код создает эту неожиданную ошибку? - PullRequest
0 голосов
/ 07 ноября 2018
public static boolean AllVowels(String hello) { 
    int numLength = hello.length();
    boolean tValue = true;
    int i = 0;
    while (i<=numLength) {
        char temp = hello.charAt(i);
            if (temp == 'a') {
                tValue = true;
            }
            else if (temp== 'e') {
                tValue = true;
            }
            else if (temp == 'i') {
                tValue = true;
            }
            else if (temp == 'o') {
                tValue = true;
            }
            else if (temp == 'u') {
                tValue = true;
            }
            else {
                tValue = false;
            }
            i+=1;
    }
            return tValue; 
}

Я хотел создать метод, который при вызове будет проверять содержимое введенной строки и возвращать истину или ложь в зависимости от того, содержит ли она все гласные. (Истинно, если все гласные. Ложно, если в нем содержится один согласный.) Мне интересно, как я могу изменить это так, чтобы, как только он встречал согласный, он немедленно изменял значение t на значение false и не проверял другие буквы.

Буду признателен за любые указания относительно моей ошибки.

1 Ответ

0 голосов
/ 07 ноября 2018

Вы идете полностью к длине. Вы должны изменить i<=numLength на i < numLength

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...