带循环的java菜单选项
我在回答这部分问题时遇到了问题。虽然这看起来很容易,但我花了几天时间调试它。因此,我有一个包含6个选项的菜单。例如:
- 购买品脱佳肴李>
- 买蛋奶酥
- Do维修套件
- 显示价目表
- 退房
- (我不确定是否需要将其作为if-else语句编写)如果需要,请再次执行循环李>
一开始我试图使用switch语句,但我不能在一种情况下使用值,也不能在另一种情况下使用它。所以我试着写这篇文章,但问题是一旦我选择了选项1,它将只显示选项1,而不管我输入的是什么数字
answermenuoption = inScan.nextInt();
while (answermenuoption != menustop) ;
{
if (answermenuoption == 1) {
prompt = "Please enter another item from the menu above: ";
if (answermenuoption == 1) {
System.out.println("How many pins do you want to buy?");
pins = inScan.nextInt();
if (pins > 10) {
pricepins = pins * 18;
System.out.println("Thank you.Your order received");
System.out.println(menu);
} else {
pricepins = pins * 20;
System.out.println("Thank you.Your order received");
System.out.println(menu);
}
} else if (answermenuoption == 2) {
System.out.println("How many quaffles do you want to buy?");
quaffles = inScan.nextInt();
if (quaffles > 5) {
quafflesbox = quaffles / 5;
quafflesindividual = quaffles % 5;
pricequafflesbox = 580 * quafflesbox;
pricequafflesindividual = quafflesindividual * 145;
pricequaffles = quafflesbox * 580 + quafflesindividual * 145;
System.out.println("Thank you.Your order received");
System.out.println(menu);
} else {
pricequaffles = quafflesindividual * 145;
System.out.println("Thank you.Your order received");
System.out.println(menu);
}
} else if (answermenuoption == 3) {
System.out.println("How many broomstick service kit do you want to buy?");
broomsticks = inScan.nextInt();
pricebroomsticks = broomsticks * 899;
System.out.println("Thank you.Your order received");
System.out.println(menu);
} else if (answermenuoption == 4) {
System.out.println(pricemenudiscount);
System.out.println(menu);
} else if (answermenuoption == 5) pricetotal = pricequaffles + pricebroomsticks + pricepins;
if (pricetotal > 1493) {
discountapplied = pricetotal * 0.1;
pricetotal = pricetotal - discountapplied;
System.out.println("The total price is:" + pricetotal);
System.out.println("Price of pins:" + pricepins);
System.out.println("Price of quaffles" + pricequaffles);
System.out.println("Price for quaffles in the box of 5 = " + pricequafflesbox);
System.out.println("Price for single quaffles = " + pricequafflesindividual);
System.out.println("Price for broomstick service kits = " + pricebroomsticks);
System.out.println("Discount applied: = " + discountapplied);
System.out.println("Please input the money amount: ");
moneyinput = inScan.nextInt();
changetocustomer = moneyinput - pricetotal;
System.out.println("Your change is:" + changetocustomer);
} else {
System.out.println("The total price is:" + pricetotal);
System.out.println("Price of pins:" + pricepins);
}
}
}
# 1 楼答案
您只读取循环开头的
answermenuoption
试试这个:
还请注意,此do while将始终至少运行一次。如果希望它能够在第一个值退出,只需在第一个If语句之前添加以下代码