import java.util.*; public class Pizza { private String size; private List toppings; private int price; private Map sizes; private Map standardToppings; private Pizza(String size) { this.size = size; toppings = new ArrayList(); sizes = new HashMap(); sizes.put("Small", new Integer(10)); sizes.put("Medium", new Integer(15)); sizes.put("Large", new Integer(20)); standardToppings = new HashMap(); standardToppings.put("cheese", new Integer(1)); standardToppings.put("pepperoni", new Integer(1)); standardToppings.put("sausage", new Integer(1)); } public static Pizza small() { return new Pizza("Small"); } public static Pizza medium() { return new Pizza("Medium"); } public static Pizza large() { return new Pizza("Large"); } public String getSize() { return size; } public String addTopping(String topping) { toppings.add(topping); return topping; } public String getToppings() { String out = ""; for (Iterator iterator = toppings.iterator(); iterator.hasNext();) { String topping = (String) iterator.next(); out += topping + ", "; } out = out.substring(0, (out.length() - 2)); return out; } public int getPrice() { price = 0; price = ((Integer)sizes.get(getSize())).intValue(); for (Iterator iterator = toppings.iterator(); iterator.hasNext();) { String topping = (String) iterator.next(); if(standardToppings.containsKey(topping)){ price += ((Integer)standardToppings.get(topping)).intValue(); } else{ price += 2; } } return price; } }