Объясните где ошибка!

156
25 декабря 2018, 05:10

Помогите пожалуйста, вылезает ошибка:

java: variable x might not have been initialized

public boolean question(){
    System.out.print("Еще карту? ");
    boolean x;
    Scanner input = new Scanner(System.in);
    String answer = input.nextLine();
    if (input.nextLine() == "Да" || input.nextLine() == "да"){
        x = true;
    } else if (input.nextLine() == "Нет" || input.nextLine() == "нет"){
        x = false;
    } else {
        System.out.print("Нет такой команды. Напишите: Да или Нет ");
        question();
    }
    return x;
}
Answer 1

Компилятор вам говорит о том, что значение x может быть неопределено. Действительно, если пользователь введет 123 чему оно будет равно?

А вообще в методе куча ошибок. Например, эта строка

(input.nextLine() == "Да" || input.nextLine() == "да")

приведет к двойному чтению данных.

А сравнивать строки через == это вообще нонсенс.

Про неадекватную рекурсию я вообще молчу.

Вот рабочий метод

public boolean question(){
    System.out.print("Еще карту? ");
    int x = -1;
    Scanner input = new Scanner(System.in);
    do {
        String answer = input.nextLine().toLowerCase();
        if (answer.equals("да") {
            x = 1;
        } else if (answer.equals("нет")) {
            x = 0;
        } else {
            System.out.print("Нет такой команды. Напишите: Да или Нет ");
        }
    } while (x == -1);
    return x == 1;
}
Answer 2

Необходимо инициализировать в методе переменную x. Задай ей по умолчанию значение:

boolean x = false;
READ ALSO
Почему пишет «приложение AppName остановлено»?

Почему пишет «приложение AppName остановлено»?

Захотелось сделать приложение, которое будет в 15:45 включать звук на телефоне, а в 8:45 отключать звукЗахотелось реализовать через AsyncTask

135
Как обнулить цифры идущие после запятой?

Как обнулить цифры идущие после запятой?

Предположим у нас результатом деления оказалось число типа 2777777777

286
Обновление файлов css/js

Обновление файлов css/js

Есть молодой сайт, на котором приходится постоянно обновлять файлыИспользуется фреймворк Flask

197