Помогите пожалуйста, вылезает ошибка:
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;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Захотелось сделать приложение, которое будет в 15:45 включать звук на телефоне, а в 8:45 отключать звукЗахотелось реализовать через AsyncTask
Предположим у нас результатом деления оказалось число типа 2777777777
Сообщения в консоли:
Есть молодой сайт, на котором приходится постоянно обновлять файлыИспользуется фреймворк Flask