我的程序包含用户可以通过多个,使它们能够完成特定任务的输入选择几个选项。目前,我的代码是用if和else if循环来完成任务,如果有一定数量的输入。但是,在一分钟后程序终止一个任务。我希望用户能够输入另一个号码来完成另一项任务。我试图用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循环能让用户回到菜单,允许你选择另一个选项,但这是行不通的。这段代码有什么问题?我怎样才能实现这个想法?
在此先感谢!
这是不是更好地使用交换机? –