能帮我看下这个代码吗?
我这样写对了,我试了下,没有啥啊错误,但是如果继续添加的时候,后面的会把前面的信息盖掉
public void addGoodsToCart(GoodsManage gm) {
int num = 0;
boolean flag = true;
while (flag) {
gm.displayAll();
Iterator<Goods> it = gm.getGoodsSet().iterator();
String goodsId = null;
Goods goods = null;
System.out.println("请输入要添加的商品编码:");
goodsId = sc.next();
while (it.hasNext()) {
for (int i = 0; i < 3; i++) {
goods = (Goods) it.next();
this.goodcart.setGoods(goods);
if(goodsId.equals(goods.getId())){
shopCart.put(goods.getId(), goodcart);
this.setShopCart(shopCart);
flag = false;
break;
}
}
System.out.println("请输入要添加的商品数量:");
num = sc.nextInt();
this.goodcart.setNum(num);
break;
}
Set<Entry<String, GoodsInCart>> entrySet = shopCart.entrySet();
for (Entry<String, GoodsInCart> entry : entrySet) {
System.out.println(entry.getValue().getGoods());
System.out.println("商品数量" + entry.getValue().getNum());
}
}
}
正在回答
this.goodcart.setGoods(goods);不用这个代码,创建一个新的GoodsInCart类的对象GoodsInCart gic=new GoodsInCart(),然后调用set方法设置商品信息和数量。或者获取到商品信息和数量后,使用GoodsInCart的带参构造方法创建对象。如果还是不行,可以贴一下所有代码便于排查错误信息。祝学习愉快!
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星