我有一个程序,它应该显示一个菜单,从用户那里取一个数字,从菜单中选择做它应该做的事情,然后返回菜单,我不知道怎么回到菜单?
这是我的代码:
public class tst {
public static void main (String [] args){
Scanner reader = new Scanner(System.in);
System.out.println("Select");
int slct = reader.nextInt();
System.out.println("1.optionone");
System.out.println("2.optiontwo");
System.out.println("1.optionthree");
switch (slct){
case 1:System.out.println("you have selected optionone");// and then its suposed to go back to the menu
case 2:System.out.println("you have selected optiontwo");// and then its suposed to go back to the menu
case 3:System.out.println("you have selected optionthree");// and then its suposed to go back to the menu
}
}
}
问题在打印之后我怎么能这样做?你选择了x选项我又回到菜单了?
答案 0 :(得分:3)
使用while
循环。这允许您在到达结束后循环回到循环的开头。
编辑:Java没有goto
声明。但是,如果您决定学习 具有goto
的新语言(例如C),不要使用它。
无论你做什么, 不 使用 goto
。它的goto
被认为是非常不好的做法,并且已经受到absurd humor的约束。
示例:
boolean keepGoing = true;
while (keepGoing){
//print out the options
int slct = reader.nextInt(); //get input
switch(slct){
case 1:
//user inputted 1
break; //otherwise you will fall through to the other cases
case 2:
//...
break;
case 3:
//...
break;
case 4: //or other number to quit, otherwise this will repeat forever
keepGoing = false; //stop the loop from repeating again
break;
}
}
答案 1 :(得分:1)
在您的情况下,您可以使用do while循环设计菜单。您可以重新设计菜单,如:
int slct = 0;
do {
System.out.println("1.optionone");
System.out.println("2.optiontwo");
System.out.println("3.optionthree");
System.out.println("4.Quit");
Scanner reader = new Scanner(System.in);
System.out.println("Select");
slct = reader.nextInt(); //get input
switch(slct){
case 1:
//user inputted 1
break; //otherwise you will fall through to the other cases
case 2:
//...
break;
case 3:
//...
break;
}
} while(slct != 4);
当用户输入4选项时,它将打破循环。意味着循环将使用4输入中断。