如何在所选方法执行后再次显示菜单?
我有菜单选项打印到控制台。然后它需要用户输入(1 - 6),按方法调用,然后应返回菜单,供用户再次从菜单中选择。
执行所选方法后,程序才会结束。
public static void main (String[] arg) {
Scanner kbd = new Scanner(System.in);
String mainMenu = ("Select a choice from the menu: \n"
+ "1. Add new DVD entry\n"
+ "2. Look Up DVD Entry\n"
+ "3. Display DVDs By Category\n"
+ "4. Remove DVD Entry\n"
+ "5. Save Data\n"
+ "6. Exit");
System.out.println(mainMenu);
menuChoice = kbd.nextInt();
while (menuChoice < 1 || menuChoice > 6) {
System.out.print("\nError! Incorrect choice.\n");
System.out.println(mainMenu);
menuChoice = kbd.nextInt();
}
switch (menuChoice) {
case 1: {
// method code
}
else {
// method code
return;
}
}
case 2: {
// method code
return;
}
case 3: {
// method code
return;
}
case 4: {
// method code
return;
}
case 5: {
// method code
return;
}
case 6: {
// method code
System.exit(0);
return;
}
}
}
答案 0 :(得分:5)
使用do while
do
{
System.out.println(mainMenu);
menuChoice = kbd.nextInt();
... switch/case ...
... remove the return statements from your cases.
} while (menuChoice != 6);
您还必须从return
中删除case
。否则它将退出主要。将其替换为break
;
这就是切换案例需要的方式
switch (menuChoice)
{
case 1:
Do what you want.
break;
case 2:
...
break;
default:
...
break;
}
切换案例中通常不需要{
或if
。
答案 1 :(得分:0)
将您的代码包装在
中 while(menuChoice != 6)
{
...
}