我需要创建一个披萨订购系统。我已经创建了披萨配料的数组列表,并且每个披萨配料都必须具有与之相关的成本属性,然后用户可以选择他们想要的配料,并且每个配料的成本将被累加,并且整个披萨的总成本将是显示。但我不知道如何将成本与每个顶部联系起来。我被告知我可以通过get / set方法访问成本并将其存储在私有成员变量中。但我不知道怎么做?
我也被告知Pizza类应该有一个特殊的方法来添加浇头。在创建Pizza对象之后,将重复调用该方法以添加要添加到披萨中的任何浇头。 Topping类可以具有顶部的名称和成本。
但是我不知道怎么写这个方法......我的arrayList如下:
private List<String> Toppings = new ArrayList<String>();
public void arrayList(){
Toppings.add("Pepperoni");
Toppings.add("Chicken");
Toppings.add("Ham");
Toppings.add("Onion");
}
任何人都可以提供帮助,因为这是我无法克服的主要绊脚石吗?
答案 0 :(得分:0)
1)定义包含所有浇头的地图:
private Map<String, Double> toppingsMap = new HashMap<String, Double>();
2)如你的例子所示,在披萨上添加一些浇头
3)获取披萨配料描述并使用它来获得添加配料的总奖金:
for (String topping : toppingsInPizza) {
total += (Double) toppingsMap.get(topping);
}
* 高度不鼓励在variable
中以大写字母启动Java
个名称。
答案 1 :(得分:0)
您可能需要考虑重新设计此代码并使用Decorator模式。您可以通过添加成分而无需修改现有代码来获得可扩展性。这是一个很棒的链接,显示了如何通过咖啡制作方案完成。 Decorator pattern此外,这是解决此问题的理想方法。