Помогите пожалуйста, вылезает ошибка:
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;
}
Компилятор вам говорит о том, что значение 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;
}
Необходимо инициализировать в методе переменную x. Задай ей по умолчанию значение:
boolean x = false;
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости