Привет Я новичок в java и пытаюсь сделать викторину для практики. Я хочу задать вопрос, где пользователь должен сочетать слова от категорий к парам. Как A1 B4 C3 D2. Теперь я использовал инструкцию if else, чтобы проверить, является ли вход правильным ответом, но он работает только с 1A. Для остальных я могу сделать 6 входов, чего я не хочу, и даже если есть правильный, я не понимаю.Ввод Java Scanner с инструкцией if else
public class HelloWorld {
public static void main(String[] args) {
Scanner walther = new Scanner(System.in);
String cro = "1A";
String dan = "2C";
String fin = "4D";
String dut = "3F";
String fre = "5B";
String ger = "6E";
int x = 0;
if (cro.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else if (dan.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else if (fin.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else if (dut.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else if (fre.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else if (ger.equalsIgnoreCase(walther.nextLine())){
++x;
walther.close();
}
else {
walther.close();
}
System.out.println(x + " Point!");
}
}
Переосмысление * когда * вы должны вызвать 'walther.nextLine()', чтобы прочитать строку из консоли. Вы делаете это слишком часто прямо сейчас. – Tom
'walther.nextLine()' в первом операторе 'if' потребляет вход, независимо от того, является ли вход равным' cro' или нет. – Arjan