我想创建一个菜单,只有当用户选择退出选项时才会使程序暂停。我想知道您对什么是最佳选择以及原因的看法。
switch
声明:
do{
menu();
switch(option){
case 1:
method1();
break;
case 2:
method2();
break;
}
} while(option != 3);
System.out.println("Bye!");
return;
或
递归方法中的顺序if
语句:
Scanner input = new Scanner(System.in);
int option = input.nextInt();
menu();
public void menu(){
if(option == 1){
method1();
}
if(option == 2){
method2();
}
if(option == 3){
System.out.println("Bye!");
return;
}
menu();
}
答案 0 :(得分:0)
据我所知,switch
声明仅针对此类情况而设计
所以我会使用第一种方法。第二种方法是非常奇特的恕我直言,
我第一次看到这种方法,我不确定它是否合乎逻辑。
答案 1 :(得分:0)
好的,这是一个初学者问题,但是:
public enum MenuActions {
ACTION1 , ACTION2, ACTION_EXIT
}
...
switch(option) {
case ACTION1:
method1();
break;
...
case ACTION_EXIT;
return;
}
即使不使用注释,也要尝试声明。 一看消息来源就应该揭示以前从未见过的人会发生什么。
然后,接受关于递归的观点: 函数/方法调用堆栈的大小有限。 您应该避免使用未定义(用户定义的)断链的递归编程。
答案 2 :(得分:0)
你的第二种方法甚至无法编译。您不能在Java中的方法中声明函数。此外,任何一种方法都是无限循环的,因为你没有在循环中更新选项。
出于各种原因,您的第一种方法更好。