我正在爲我的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