我目前正在用java在初学者编程课上做一个项目。该项目涉及制造自动售货机。本质上,自动售货机会询问您想要什么商品,然后它会向您要钱。每当有人选择某件商品时,该商品的数量就会减少一个。我想要做的是让它在某个商品缺货(数量为0)时,代码返回到开头并再次询问您想要什么商品。我也想这样做,如果有人输入无效数字,代码也会重新启动。我该怎么做?这是代码。import java.util.Scanner;public class VendingMachine {public static void main(String[] args) { Scanner user_input = new Scanner(System.in); int potatoChips = 0; int cookies = 3; int candies = 4; int quarters; int dimes; int nickels; System.out.println("Select the number for the item you would like"); System.out.println("For Potato Chips, Enter 1"); System.out.println("For Cookies, Enter 2"); System.out.println("For Candies, Enter 3"); int itemSelection = user_input.nextInt(); if (itemSelection == 1) { if (potatoChips > 0) { potatoChips = potatoChips - 1; System.out.println("You chose potato chips."); System.out.println("That will be $1.25"); System.out.println("How many quarters do you have?"); quarters = user_input.nextInt(); System.out.println("How many dimes do you have?"); dimes = user_input.nextInt(); System.out.println("How many nickels do you have?"); nickels = user_input.nextInt(); int nickelsToPennies = (nickels * 5); int dimesToPennies = (dimes * 10); int quartersToPennies = (quarters * 25); int pennies = (nickelsToPennies + dimesToPennies + quartersToPennies); if (pennies < 125) { System.out.println("You have not entered enough money. Have a great day."); } else if (pennies == 125 ) { System.out.println("Here is your snack. Have a great day"); }
3 回答

浮云间
TA贡献1829条经验 获得超4个赞
您必须使用连续while循环。就像是:
while(true) {
//collect user input
//process
}
这样,当它完成处理您的用户请求时,它会循环回到开头。如果您想在未完成时停止它,例如输入错误,您可以使用continue关键字来停止当前循环并返回到开头。break将使您退出整个 while 循环并结束代码。
添加回答
举报
0/150
提交
取消