如何在java中返回到代码的开头
我目前正在一个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");
}
else {
double changeInPennies = (pennies - 125);
double change = (changeInPennies / 100);
System.out.println("Your change is $" + change + ". Have a great day.");
}
}
else {
System.out.println("This item is out of stock. Please select another item.");
}
}
if (itemSelection == 2) {
if (cookies > 0) {
cookies = cookies - 1;
System.out.println("You chose a cookie.");
System.out.println("That will be $0.85");
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 < 85) {
System.out.println("You have not entered enough money. Have a great day.");
}
else if (pennies == 85 ) {
System.out.println("Here is your snack. Have a great day");
}
else {
double changeInPennies = (pennies - 85);
double change = (changeInPennies / 100);
System.out.println("Your change is $" + change + ". Have a great day.");
}
}
else {
System.out.println("This item is out of stock. Please select another item.");
}
}
if (itemSelection == 3) {
if (candies > 0) {
candies = candies - 1;
System.out.println("You chose a candy.");
System.out.println("That will be $0.95");
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 < 95) {
System.out.println("You have not entered enough money. Have a great day.");
}
else if (pennies == 95 ) {
System.out.println("Here is your snack. Have a great day");
}
else {
double changeInPennies = (pennies - 95);
double change = (changeInPennies / 100);
System.out.println("Your change is $" + change + ". Have a great day.");
}
}
else {
System.out.println("This item is out of stock. Please select another item.");
}
}
else {
System.out.println("This is not an item. Please select another item.");
}
}
}
# 1 楼答案
我做了一个小例子。基本概念是你可以做一个while循环。您可以添加一些东西,比如打破循环的附加条件,这可能需要防止无限循环。但基本概念是,这个小例子显然是每次有人选择它时,都会减少项目的数量。如果他们这样做了,我们从该物品的数量中减去1。然后,如果项等于0,我们使用CONTINUE语句重新开始循环,并要求他们再次选择。我认为你们在这里的会面是一个持续的声明。这将使您能够重新开始循环,而不会中断循环。它类似于break语句,只是如果特定条件为“true”,它不会完全退出循环,而是简单地重新启动循环。当本例中的1项或两项的数量均为0时,我们的条件为真:
以下是您的输出:
如您所见,continue语句强制循环在选择我们不在的项时重新开始
# 2 楼答案
必须使用连续的
while
循环。比如:这样一来,当它处理完用户的请求后,它就会回到开始。如果您想在未完成时停止循环,比如输入错误,可以使用
continue
关键字停止当前循环并返回开始break
将使您脱离整个while循环并结束代码# 3 楼答案
可以使用
<>考虑以以下方式构造代码:while
循环来实现这一点