Java 我所有的if语句在其不应为';不可能

Java 我所有的if语句在其不应为';不可能,java,Java,我是一个非常新的程序员,我正在制作一个简单的自动售货机程序,到目前为止,我有两个项目。我设置了一个扫描仪,它接受用户输入,如果用户输入特定的输入,if语句的计算结果将为true。例如,当我输入“A”时,它将打印两条if语句,而它只应打印一条 以下是我目前的代码: import java.util.Scanner; public class Testing { public static void main(String args[]) { Scanner scnr = new

我是一个非常新的程序员,我正在制作一个简单的自动售货机程序,到目前为止,我有两个项目。我设置了一个扫描仪,它接受用户输入,如果用户输入特定的输入,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();

    }
}

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

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

如果条件的计算结果为
true
,则不带括号的典型if语句将只执行下一行。但是,下一行是一个空行,由
表示。然后,不管发生什么情况,都会执行括号中的下一个文本块。

第二个if语句末尾有一个错误的分号

去掉分号,让if语句条件流入响应。

换句话说:删除if后面的分号