我正在进行数字技术评估。这是一个在比萨店存储客户比萨饼、附加服务和信息的程序。在我的确认窗口中,我需要打印他订购的所有比萨饼。这是我的哈希图:
private HashMap<Integer, String> pizzas = new HashMap<Integer, String>();
private HashMap<String, Integer> pizzas_count = new HashMap<String, Integer>();
还有我的 addPizza 方法,以及我的 getOrder 方法
public void addPizza(String name){
if(pizzas.containsValue(name)){
int count = pizzas_count.get(name);
pizzas_count.remove(name);
pizzas_count.put(name, count++);
}else{
pizzas.put(pizzas.size(), name);
pizzas_count.put(name, 1);
}
}
public String getOrder(){
String order = "";
System.out.println(pizzas.toString());
int i;
for(i = 0; i < 12; i++){
if(pizzas.get(i) != null){
System.out.println(pizzas.get(i));
order = order + pizzas_count.get(pizzas.get(i)) + " x " + pizzas.get(i) + "\n";
}
}
return order;
}
即使添加了多个比萨,我的控制台仍显示“{0=bbq}”。
getOrder 方法正在返回(添加 1 个披萨和 1 个额外):
PIZZAS
null x null
EXTRAS
1 x pasta
任何帮助将非常感激。