hashmaps,用于有选择地选择选项

vom3gejh  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(442)

我正在尝试创建一个应用程序,其中用户被显示为餐厅。然后,用户可以选择所提供菜单上的项目:

HashMap<String, Double> mcDonMenu = new HashMap<>();
         mcDonMenu.put("Cheese Burger", 1.99);
         mcDonMenu.put("Cheese Burger with Bacon", 2.99);
         mcDonMenu.put("Double Cheese Burger", 2.99);
         mcDonMenu.put("Double Cheese Burger with Bacon", 3.99);
         mcDonMenu.put("Vaggie Burger", 2.50);
         System.out.println(mcDonMenu);

我到目前为止,我已经研究了这几天,我来堆栈溢出的帮助。我了解如何做其他事情,我也很新的hashmaps。我看到的所有资源都不能帮助您有选择地选择一个项目,并将该项目添加到一个新的数组或hashmaps中,以便稍后进行“ checkout ”。
任何指导都将不胜感激。

dphi5xsq

dphi5xsq1#

我建议你创建一个枚举 MenuItem .
像这样的事,

public enum MenuItem { 
    CHEESE_BURGER(1.99),
    VEG_BURGER(0.99);
    private double price;
    public MenuItem(double price){ this.price = price; }
    public double getPrice(){
         return this.price;
    }
};

一旦构建了它,就可以有一个menuitem列表,而不是Map。
更好的替代方法是创建一个带有属性的类menuitem。从长远来看,当您开始向menuitem添加多个属性时,这将对您有所帮助。

wswtfjt7

wswtfjt72#

不过,我建议您阅读hashmap的文档,以便快速回答您的问题。hashmap允许您使用 get() 方法,它将把键作为参数并返回值。
例如,在您的代码中 double choice = mcDonMenu.get("Cheese Burger"); 将在变量中存储1.99。密钥是区分大小写的,记住这一点很重要。
其他有用的方法有 .contains() 它可以检查你的Map上是否有东西 keySet() 它将返回一套你所有的钥匙。所有这些方法都可以在我链接的文档中找到

相关问题