Задать вопрос
IvanInvanov
@IvanInvanov
Новичок

Почему функция не возвращает булевую переменную?

Добрый день, подскажите пожалуйста. Я недавно начал учить Java и написал функцию, которая не работает, почему? переписал функцию на javascript, всё работает корректно.
5e0f43fa168c2030961610.png

public static boolean simpleNumber(int number){
        boolean result;
        for(int i = 1; i < number; i++){
            if(number % i == 0) {
                result = true;
            }
        }
        return result;
    }


Ошибка звучит так: Error:(118, 16) java: variable result might not have been initialized
  • Вопрос задан
  • 401 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Хекслет
    Java-разработчик
    10 месяцев
    Далее
  • Stepik
    Буткемп "Java: написание веб-сервисов для начинающих"
    1 месяц
    Далее
  • Merion Academy
    Java-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    Java-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • ProductStar
    Java-разработчик
    10 месяцев
    Далее
Решения вопроса 1
npanuhin
@npanuhin
Ошибка "variable result might not have been initialized" означает, что при возвращении переменной из функции, она может быть ещё не определена. То есть если не случится result = true, то переменная не будет иметь значения (потому что в начале вы её просто создали - boolean result, но не присвоили никакого значения), на это компилятор и ругается. В вашем случае нужно просто сделать:
boolean result = false;
Тогда переменная точно будет иметь какое-либо значение в момент возвращения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы