java如何制作菜单直到用户输入退出
我想循环输入(重复),直到输入5退出。例如,我输入1显示案例1,然后再次请求输入,输入4和显示案例4。直到我输入5退出
下面的代码只是不断询问我的输入,从不向我显示输出
public static void main(String[] args){
System.out.println("1.Soup\n2.Main Course\n3.Dessert\n4.Beverage\n5.Exit");
//ask input from user
System.out.println("Enter your choice: ");
Scanner scan=new Scanner(System.in);
int input=scan.nextInt();
int check=input;
//keep looping until user input 5 which is Exit
while (input!=5){
System.out.println("Please enter 1-5\n1.Soup\n2.Main Course\n3.Dessert\n4.Beverage\n5.Exit");
int input1=scan.nextInt();
check=input1;
}
switch (check){
case 1 :
System.out.println("1.Mushroom Soup\n2.Miso Soup\n3.Tomato Soup");
break;
case 2 :
System.out.println("1.Chiken Katsu Don\n2.Curry Katsu Don\n3.Teriyaki Katsu Don\n4.Curry Udon");
break;
case 3 :
System.out.println("1.Matcha Ice Cream\n2.Chocolate Ice Cream\n3.Oreo Chocolate\n4.Dango");
break;
case 4 :
System.out.println( "1.Green Tea\n2.Matcha RedBean\n3.Chocolate MilkShake\n4.Strawberry Ice Blended");
break;
case 5 :
System.exit(0);
break;
}
}
}
# 1 楼答案
您的
switch
语句超出了while-loop
范围编辑:另外,正如其他人在最近的回答中指出的,您的循环条件变量没有在循环中重置(但这是您提出的问题附带的,可以说是一个不同的问题)
# 2 楼答案
switch
应该在while
内。只有在处理第一个输入后,才能请求另一个输入# 3 楼答案
你需要做两个修正。首先,将
switch
块移动到while
循环中。其次,while循环永远不会终止,因为您只分配input
一次我只能想象,这种混乱是由于代码中有太多变量造成的:
input
,input1
,check
在我看来,您的代码可以大大简化。考虑下面的选择-我们可以使用一个简单的^ {< CD7>}循环,因为当{{CD8}}进入时,您计划退出VM: