我的所有if语句在不应该

时间:2018-02-17 00:09:50

标签: java

我是一个非常新的程序员,我正在制作一个简单的自动售货机程序,到目前为止,我有两个项目。我设置了一个扫描程序,它接受用户输入和if语句,如果用户输入特定输入,则评估为true。当我进入" A"例如,它只打印if语句,只打印一个。

到目前为止,这是我的代码:

import java.util.Scanner;

public class Testing {

    public static void main(String args[]) {
    Scanner scnr = new Scanner(System.in);

    double milkPrice = 2.00;
    double sodaPrice = 2.25;

    System.out.println("Please make a selection:");
    String userResponse = scnr.next();

    //If user input is A or a
    if (userResponse.equals("A") ||
            userResponse.equals("a"))
            {
        System.out.printf("%s", "You have bought Milk for  "); System.out.printf("%1.2f %n", milkPrice);
            }

    System.out.println("Please make a selection:");
    //If user input is B or b
    if  (userResponse.equals("B") ||
            userResponse.equals("b"));
    {
        System.out.printf("%s", "You have bought Soda for "); System.out.printf("%1.2f %n", sodaPrice);
    }
        scnr.close();

    }
}

2 个答案:

答案 0 :(得分:0)

您的if语句有一个分号,其中不应有分号:

if  (userResponse.equals("B") ||
    userResponse.equals("b"));

如果条件的计算结果为true,则没有括号的典型if语句将仅执行单个下一行。但是,您的单个下一行是由;表示的空行。然后,无论如何都会执行括号中的下一个文本块。

答案 1 :(得分:0)

在第二个if语句结尾处有一个错误的分号。

取出分号,让if语句条件流入响应。