我只是尝试使用 Eclipse IDE 创建一个简单的程序,该程序获取用户输入,这将是他们的订单,使用 BufferedReader 获得的汉堡包、薯条或其他任何东西,现在假定为饮料。然后,使用条件语句,我将向用户输出该商品的成本,汉堡包为 4.50,薯条为 3.00,饮料或任何其他输入为 1.50:
public class Menu {
public static void main(String args[]) throws IOException{
//double totalCost;
double cost;
//String order = "fries";
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter your order: ");
String order = input.readLine();
System.out.println("You ordered a: " + order);
if (order == "hamburger"){
cost = 4.50;
} else if (order == "fries"){
cost = 3.00;
} else {
cost = 1.50;
}
System.out.println("Cost: " + cost);
}
}
我遇到的麻烦与存储用户输入的 order 变量有关: String order = input.readLine();
似乎我能够成功地将用户输入存储到这个 String 变量中,然后使用它下面的调试语句将其输出。但是,当涉及到我的 if-then-else 语句时,它没有正确评估,它会自动转到结尾的 else 语句,并输出 1.5 作为成本(我稍后会担心格式化,我只是想暂时获取功能)。
我什至尝试将 Sysout 放在每个条件块中,如下所示:
if (order == "hamburger"){
cost = 4.50;
System.out.println("Cost: " + cost);
}
else if (order == "fries"){
cost = 3.00;
System.out.println("Cost: " + cost);
}
else{
cost = 1.50;
System.out.println("Cost: " + cost);
}
..我仍然得到与成本相同的结果:1.5。同样,我稍后会担心格式化。
任何帮助将不胜感激。