Моя программа содержит несколько опций, которые пользователь может выбрать посредством ввода номера, который позволяет им выполнить определенную задачу. В настоящее время мой код настроен с if и else, если цикл завершает задачу, если имеется определенное количество входных данных. Однако в тот момент, когда программа заканчивается после одной задачи. Я хочу, чтобы пользователь мог ввести другой номер для выполнения другой задачи. Я попытался окружить код циклом while и выходом, чтобы позволить пользователю избежать цикла и завершить программу, но это не работает и приводит к «java.util.NoSuchElementException». Программа отлично работает без цикла while.JAVA: Создание цикла меню
Это пример текущего кода, который мы надеемся, передает то, что я имею в виду:
System.out.println("Enter one of the following commands:");
System.out.println("1 - something..");
System.out.println("2 - something else..");
System.out.println("3 - exit");
Scanner scanchoice = new Scanner(System.in);
System.out.println();
System.out.println("Enter \"1\", \"2\" or \"3\"");
int choiceentry = scanchoice.nextInt();
while (choiceentry != 3) {
if (choiceentry < 1 || choiceentry > 3) {
System.out.println("Enter \"1\", \"2\", \"3\" or \"4\"");
choiceentry = scanchoice.nextInt();
}
else if(choiceentry == 1) {
// ..do something
}
else if(choiceentry == 2) {
//..something else
}
else if(choiceentry == 3) {
//...exit program
}
}
Так что я хочу, чтобы попасть в эту петлю, и единственный выход для завершения программы. Я надеюсь, что цикл while вернет пользователя в меню, позволяя выбрать другой вариант, однако это не работает. Что не так с этим кодом? И как я могу реализовать эту идею?
Заранее благодарен!
Не лучше использовать переключатель? –