关于显示和删除
我的代码都正确,就是添加同一商品出现两行,并且删除不了,谁有同样问题
我的代码都正确,就是添加同一商品出现两行,并且删除不了,谁有同样问题
2016-03-18
我终于发现问题了,原来是containsKey(item)的问题,还有item,改正如下
public boolean addGoodsInCart(Items item,int number)
{
int flag=0,num=0;
System.out.println("item="+item);
Set<Items> item1 = goods.keySet();
Iterator<Items> it = item1.iterator();
while(it.hasNext())
{
Items i = it.next();
System.out.println("i="+i);
if(i.getId() == item.getId())
{
num =goods.get(i);
goods.remove(i);
goods.put(item, num+number);
flag=1;
break; //错误点:记得寻找到对象以后要break;
}
}
if(flag == 0)
{
goods.put(item, number);
}
calTotalPrice();
return true;
}
//删除商品
public boolean removeGoodsInCart(Items item)
{
Set<Items> item1 = goods.keySet();
Iterator<Items> it = item1.iterator();
while(it.hasNext())
{
Items i = it.next();
if(i.getId() == item.getId())
{
goods.remove(i);
break; //错误点:记得寻找到对象以后要break;
}
}
calTotalPrice();//重新计算购物车总金额
return true;
}
举报