Java中的If-else语句

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

需要Java中if-else语句的帮助。当项目为0时,需要程序说“对不起,缺货”。我试过了,但它不会打印“对不起,缺货”有人能给我解释一下如何正确设置它,这样当项目为0时,程序会让用户知道项目缺货。多谢各位

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”);
如果(金额