我是一个非常新的程序员,我正在制作一个简单的自动售货机程序,到目前为止,我有两个项目。我设置了一个扫描程序,它接受用户输入和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();
}
}
答案 0 :(得分:0)
您的if
语句有一个分号,其中不应有分号:
if (userResponse.equals("B") ||
userResponse.equals("b"));
如果条件的计算结果为true
,则没有括号的典型if语句将仅执行单个下一行。但是,您的单个下一行是由;
表示的空行。然后,无论如何都会执行括号中的下一个文本块。
答案 1 :(得分:0)
在第二个if语句结尾处有一个错误的分号。
取出分号,让if语句条件流入响应。