为了账号安全,请及时绑定邮箱和手机立即绑定

关于显示和删除

我的代码都正确,就是添加同一商品出现两行,并且删除不了,谁有同样问题

正在回答

4 回答

大哥,你能讲下你的思路吗?我用你的删除方法是能删除了,但就是看不懂。并且还有一个小问题。。这个方法为什么没法调用重新计算总价格呀。。

0 回复 有任何疑惑可以回复我~

我用老师的代码,不可以进行删除和增加,达不到效果,用你的,成功了。就是不怎么理解你的代码。强

0 回复 有任何疑惑可以回复我~

直接 goods.remove(item);不更好吗   干嘛这么复杂

0 回复 有任何疑惑可以回复我~
#1

qiaocheng

我就是用remove,根本删除不了,比如李宁牌子买了6双鞋,你究竟是删除一双呢,还是6爽都删除呢
2016-07-16 回复 有任何疑惑可以回复我~

我终于发现问题了,原来是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;

}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于显示和删除

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信