Java中的If-else语句
需要Java中if-else语句的帮助。当项目为0时,需要程序说“对不起,缺货”。我试过了,但它不会打印“对不起,缺货”有人能给我解释一下如何正确设置它,这样当项目为0时,程序会让用户知道项目缺货。多谢各位Java中的If-else语句,java,Java,需要Java中if-else语句的帮助。当项目为0时,需要程序说“对不起,缺货”。我试过了,但它不会打印“对不起,缺货”有人能给我解释一下如何正确设置它,这样当项目为0时,程序会让用户知道项目缺货。多谢各位 import java.util.Scanner; public class VendingMachine { public static void main(String[] args) { Scanner in = new Scanner(System.in
import java.util.Scanner;
public class VendingMachine {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int Chips = 5;
int Cookies = 4;
int Candies = 3;
double ChipsPrice = 1.25;
double CookiesPrice = 0.85;
double CandiesPrice = 0.95;
Scanner choice = new Scanner(System.in);
Scanner moneyIn = new Scanner(System.in);
while (true) {
double Change = 0;
double Amount = 0;
double Money = 0;
System.out.println("Welcome to the Vending Machine");
System.out.println("Please insert Money");
Amount = moneyIn.nextDouble();
//Make an if statements, such as if moneyIn equals 5 quarters then Amount = 5*0.25
//Ask how many quarters how many nickels how many dimes
System.out.println("What snack would you like?");
System.out.println("Potato Chips: $" + ChipsPrice + " " + Chips + " left");
System.out.println("Cookies: $" + CookiesPrice + " " + Cookies + " left");
System.out.println("Candies: $" + CandiesPrice + " " + Candies + " left");
String which = choice.nextLine();
if (which.equals("Potato Chips")) {
System.out.println("You selected Potato Chips: $" + ChipsPrice + " " + Chips + " left");
if (Amount < ChipsPrice) {
System.out.println("Not enough money inserted");
if (Chips == 0) ;
System.out.println("Sorry, out of stock");
} else {
Chips = Chips - 1;
Change = ChipsPrice - Amount;
System.out.println("Please take your chips ");
System.out.println("Your change is " + Change);
}
} else if (which.equals("Cookies")) {
System.out.println("You selected Cookies: $" + CookiesPrice + " " + Cookies + " left");
Cookies = Cookies - 1;
if (Amount < CookiesPrice) {
System.out.println("Not enough money inserted");
if (Cookies == 0)
System.out.println("Sorry, out of stock");
} else {
Cookies = Cookies - 1;
Change = CookiesPrice - Amount;
System.out.println("Please take your cookies");
System.out.println("Your change is " + Change);
}
} else if (which.equals("Candies")) {
System.out.println("You selected Candies: $" + CandiesPrice + " " + Candies + " left");
if (Amount < CandiesPrice) {
System.out.println("Not enough money inserted");
if (Cookies == 0)
System.out.println("Sorry, out of stock");
} else {
Candies = Candies - 1;
Change = CookiesPrice - Amount;
System.out.println("Please take your candies");
System.out.println("Your change is " + Change);
}
} else {
System.out.println("Please select one of the snacks below");
}
}
}
}
import java.util.Scanner;
公营自动售货机{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int芯片=5;
int=4;
int Candies=3;
双芯片Sprice=1.25;
双倍价格=0.85;
双糖价格=0.95;
扫描仪选择=新扫描仪(System.in);
扫描器moneyIn=新扫描器(System.in);
while(true){
双变=0;
双倍金额=0;
双倍货币=0;
System.out.println(“欢迎来到自动售货机”);
System.out.println(“请插入货币”);
金额=moneyIn.nextDouble();
//做一个if语句,比如如果moneyIn等于5个季度,那么Amount=5*0.25
//问多少个25美分硬币多少个5美分硬币多少个10美分硬币
System.out.println(“您想要什么点心?”);
System.out.println(“薯片:$”+ChipsPrice+“”+Chips+“左”);
System.out.println(“Cookies:$”+CookiesPrice+“”+Cookies+“左”);
System.out.println(“Candies:$”+CandiesPrice+“”+Candies+“left”);
字符串,其中=choice.nextLine();
如果(哪个等于(“薯片”)){
System.out.println(“您选择了薯片:$”+ChipsPrice+“”+Chips+“left”);
如果(金额
为了了解这一点,有几点观察:
// It might be simpler to use a "switch" statement here
if (which.equals("Potato Chips")) {
System.out.println("You selected Potato Chips: $"+ChipsPrice+" "+Chips+" left");
if (Amount < ChipsPrice){
System.out.println("Not enough money inserted");
// Remove the semicolon - as written this won't do anything
// Also, this condition shouldn't be here since you're not vending anyway
// Incidentally, many people argue that you should always use curly
// brackets, even around one-line "if" statements like this, precisely
// to prevent errors like this
if (Chips == 0);
System.out.println("Sorry, out of stock");
}
else {
// This can be written as Chips--;
Chips = Chips - 1;
// Should actually be Amount - ChipsPrice;
// If they paid 75 cents for a 25-cent item, the change is 75 - 25 = 50 cents,
// NOT 25 - 75 = -50 cents
Change = ChipsPrice - Amount;
System.out.println("Please take your chips " );
System.out.println("Your change is "+ Change );
}
}
else if (which.equals("Cookies")) {
System.out.println("You selected Cookies: $"+CookiesPrice+" "+Cookies+" left");
// Cookies--
Cookies = Cookies - 1;
if (Amount < CookiesPrice){
System.out.println("Not enough money inserted");
// Should be checked in the "else" statement
if (Cookies == 0)
System.out.println("Sorry, out of stock");
}
else {
// Cookies--
Cookies = Cookies - 1;
// Amount - CookiesPrice
Change = CookiesPrice - Amount;
System.out.println("Please take your cookies");
System.out.println("Your change is "+ Change );
}
}
else if (which.equals("Candies")) {
System.out.println("You selected Candies: $"+CandiesPrice+" "+Candies+" left");
if (Amount < CandiesPrice){
System.out.println("Not enough money inserted");
// Again, you shouldn't check this here given that you won't vend either way
// Also, should be if (Candies == 0), NOT if (Cookies == 0)
if (Cookies == 0)
System.out.println("Sorry, out of stock");
}
else {
// Candies--;
Candies = Candies - 1;
// Should actually be Amount - CandyPrice. You use CookiesPrice instead.
Change = CookiesPrice - Amount;
System.out.println("Please take your candies");
System.out.println("Your change is "+ Change );
}
}
else {
System.out.println("Please select one of the snacks below");
}
//在这里使用“switch”语句可能更简单
如果(哪个等于(“薯片”)){
System.out.println(“您选择了薯片:$”+ChipsPrice+“”+Chips+“left”);
如果(金额