我正在处理一个项目,它有一个菜单,我使用(do,while和switch)主菜单有一个子菜单。
问题是子菜单剂量没有返回主菜单
我的工作
case 4 :
do {
int cho = in.nextInt();
switch (cho) {
case 1 : break;
case 2 : break;
case 3 : break;
case 4: break; // i want this to return back to main menu
} // switch main
} while (choice !=4) ;// end sub
break;
当用户输入4(子菜单)时,它继续循环子菜单而不是返回
答案 0 :(得分:1)
使用cho
代替choice
:
do {
int cho = in.nextInt();
switch (cho) {
case 1 : break;
case 2 : break;
case 3 : break;
case 4: break; // i want this to return back to main menu
} // switch main
} while (cho!=4) // Use cho instead choice
答案 1 :(得分:0)
switch
中的break语句只会从交换机中断开。我不太清楚为什么这个开关就在那里。永远不会在choice
内触及do...while
,所以它永远不会破坏。我猜测解决方案是将choice
设置为in.nextInt()
而不是cho
。