我已经设置了如下控制台菜单:
int userOption = printMenu(sc);
while(userOption != 6){
switch(userOption) {
case 1: //function 1
break;
case 2: //function 2
break;
case 3: //function 3
break;
case 4: //function 4
break;
case 5: //function 5
break;
case 6: //
break
default: //statement asking for valid option
}
}
然而,当我运行它时,它只允许我执行我想要的方法一次然后而不是返回我的菜单并允许我继续使用我刚才使用的其他功能,它只是不断重复我使用的原始功能。
有人能帮助我并给我一些建议吗?
答案 0 :(得分:4)
根据这里给出的内容,您似乎无法获得另一个用户输入。要解决它,您需要在执行循环后获得另一个用户输入。
int userOption = printMenu(sc);
while(userOption != 6) {
switch(userOption) {
case 1: //function 1
break;
case 2: //function 2
break;
case 3: //function 3
break;
case 4: //function 4
break;
case 5: //function 5
break;
case 6: //
break
default: //statement asking for valid option
}
userOption = printMenu(sc);
};
作为一个小小的附加: 为了节省双输入,你可以简单地将循环重写为do while循环:
int userOption = 0;
do {
userOption = printMenu(sc);
switch(userOption) {
case 1: //function 1
break;
case 2: //function 2
break;
case 3: //function 3
break;
case 4: //function 4
break;
case 5: //function 5
break;
case 6: //
break
default: //statement asking for valid option
}
} while(userOption != 6);
添加到您的评论中,您可能不会再次将值存储到userOption中,而只是要求输入。