Я просто новичок в java-кодировании. Я просто написал простую программу: пользователю дается меню, в котором он должен вводить номер между 1-4, если пользователь вводит правильный номер, требуемая задача выполняется, если неверный номер введен, пользователю снова предлагается ввести его. Ниже моя программаПроблемы с циклом do-while
class menu {
public static void main(String [] args) throws java.io.IOException {
int choice;
do
{
System.out.println("HELP MENU: ");
System.out.println("IF STATEMENT: 1 ");
System.out.println("WHILE: 2 ");
System.out.println("DO WHILE: 3 ");
System.out.println("SWITCH: 4 ");
choice = System.in.read();
System.out.println(choice);
}
while(choice < 1 || choice > 4);
System.out.println("\n");
System.out.println(choice);
switch (choice)
{
case 1:
System.out.println("if statement is selected");
break;
case 2:
System.out.println("while statement is selected");
break;
case 3:
System.out.println("do while statement is selected");
break;
case 4:
System.out.println("switch statement is selected");
break;
}
}
}
ВЫВОД: +++++++
E:\study\javacode>java menu
HELP MENU:
IF STATEMENT: 1
WHILE: 2
DO WHILE: 3
SWITCH: 4
4
52
HELP MENU:
IF STATEMENT: 1
WHILE: 2
DO WHILE: 3
SWITCH: 4
13
HELP MENU:
IF STATEMENT: 1
WHILE: 2
DO WHILE: 3
SWITCH: 4
10
HELP MENU:
IF STATEMENT: 1
WHILE: 2
DO WHILE: 3
SWITCH: 4
что когда-либо пользователь вводит с клавиатуры, код продолжает переборе делать-то время loop.i определил причину, напечатав входное значение, и то, что я нашел, - это то, что введенное значение ошибочно используется кодом. Пожалуйста, помогите решить эту проблему.
ok спасибо, да, это сработало. Но я хотел бы знать, почему choice = System.in.read(); не сработал. Почему он принимал неправильный ввод. – thinkingmonster
Вы хотите знать, почему работает «Сканер»? Или почему 'System.in.read()' не работает? – Christian
Оба, пожалуйста, дайте мне знать ... – thinkingmonster