我创建了一个案例切换选项列表
第一个选项列表
选项1转到选项列表A
选项2转到选项列表B
选项3还没有决定这将做什么C
选项4退出
如果选择了选项1
选项1做A
选项2做B
选项3做C
选项4上一个菜单
选项5退出
所以基本上它是一个开关内的开关。我坚持的一点是回到上一个菜单。
while (true) {
System.out.println("Choose which Sort type to use\n");
System.out.println("(1): Option 1 - do something\n(2): Option 2 - do something else\n(3): Option 3 - Something Cool\n(4): Exit");
option = in.nextInt();
if (option == 4) {
System.exit(0);
}
switch (option) {
case 1:
while (true) {
System.out.println("Choose which Sort type to use\n");
System.out.println("(1): Option 1 - do something\n(2): Option 2 - Do something else\n(3): Option 3 - Something Cool\n(4): Exit");
option = in.nextInt();
if (option == 4) {
System.exit(0);
}
switch (option) {
case 1:
while (true) {
System.out.println("Choose which Sort type to use\n");
System.out.println("(1): Option 1 -something\n(2): Option 2 - something else\n(3): Option 3 - something else\n(4): Option 4 - Previous Menu\n(5): Exit\n");
option = in.nextInt();
if (option == 5) {
System.exit(0);
}
switch (option) {
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
default:
System.out.print("Please enter a valid option 1, 2 or 3");
break;
}//end of switch
}//end of while loop
case 2:
while (true) {
System.out.println("Choose which something type to use\n");
System.out.println("(1): Option 1 - something\n(2): Option 2 - something\n(3): Option 3 - something\n(4): Exit");
option = in.nextInt();
if (option == 4) {
System.exit(0);
}
switch (option) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
System.out.print("Please enter a valid option 1, 2 or 3");
break;
}//end of switch
}//end of while loop
case 3:
break;
default:
System.out.print("Please enter a valid option 1, 2 or 3");
break;
}//end of switch
}
答案 0 :(得分:0)
将嵌套开关放在方法中。当你完成它的循环时,返回。
while (true)
{
option = ...;
switch (option)
{
case 0:
submenu();
break;
// ...
}
}
// later
public void submenu()
{
while (true)
{
option = ...;
switch (option)
{
case 0:
return;
break;
// ...
}
}
}