我正在为我的Java类编写一个程序,我需要制作一个类似于输出的收据。我必须让用户从3项中选择。选择项目后,他们选择数量,我乘以价格给他们一个总数。用户需要挑选所有3个项目,但可以按任意顺序挑选它们。我正在尝试使用Switch/Case方法来帮助我将变量分配给用户选择的内容。这是我目前所做的:开关/案例Java返回主菜单
System.out.println("Enter name of First item");
System.out.println(" 1. Gum, 2. Soda, 3. Chips");
firstItem = keyboard.nextInt();
switch (firstItem) {
case 1:
System.out.println("Gum");
System.out.println(gumPrice);
System.out.println("How many packs of gum would you like to purchase?");
gumBought = keyboard.nextInt();
break;
case 2:
System.out.println("Soda");
System.out.println(sodaPrice);
System.out.println("How many cups of soda would you like to purchase?");
sodaBought = keyboard.nextInt();
break;
case 3:
System.out.println("Chips");
System.out.println(chipsPrice);
System.out.println("How many bags of chips would you like to purchase?");
chipsBought = keyboard.nextInt();
break;
default:
System.out.println("Unknown Entry");
break;
}
然后它开始第二个项目开关/案例。我需要知道如何让它回到主要问题(口香糖/苏打/薯片),如果用户在1-3之外选择一个数字或者选择相同的数字/项目两次。我怎样才能有效地做到这一点?
此外,我可以使用字符串而不是Int来允许用户输入“Gum”而不是“1”?谢谢。
在java 7 +中,您可以使用字符串作为开关盒 – beresfordt 2015-02-23 22:21:48
您是否尝试过使用'loop'或使用'String'作为'switch-case'的输入类型? – 2015-02-23 22:21:58
是否可变= keyboard.nextLine(); – 2015-02-23 22:25:52