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
  • Вопрос задан
  • 385 просмотров
Решения вопроса 1
npanuhin
@npanuhin
Ошибка "variable result might not have been initialized" означает, что при возвращении переменной из функции, она может быть ещё не определена. То есть если не случится result = true, то переменная не будет иметь значения (потому что в начале вы её просто создали - boolean result, но не присвоили никакого значения), на это компилятор и ругается. В вашем случае нужно просто сделать:
boolean result = false;
Тогда переменная точно будет иметь какое-либо значение в момент возвращения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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