日期:2014-05-20 浏览次数:20756 次
private String goodsname ;//定义名称 private Double goodsprice;//定义单价 Map <Object,Double> goodsmap = new HashMap<Object,Double> (); //定义商品与价格> //商品名称 public void setGoodsname (String goodsname){ this.goodsname=goodsname; } public String getGoodsname (){ return goodsname; } //商品价格 public void setGoodsprice (Double goodsprice){ this.goodsprice=goodsprice; } public Double getGoodsprice (){ return goodsprice ; } //新增商品 public void addGoods (){ System.out.println(">>>>>>新增商品"); System.out.println(">>>商品名称:"); setGoodsname(sc.next());//调用商品名称 System.out.println(">>>商品价格:"); setGoodsprice(sc.nextDouble());//调用商品价格 if (getGoodsprice()>0&&getGoodsname()!=null){//名称不为空,商品价格与数量大于0时,即可添加成功 System.out.println("添加成功!"); goodsmap.put(getGoodsname(), (getGoodsprice()));//添加商品名称和数量到goodsmap<map> }else { //否则添加失败 System.out.println("添加失败!"); } }
我觉得可以将 private String goodsname ;//定义名称 private Double goodsprice;//定义单价 private Integer goodNumber ;//定义数量 等等属性封装为一个商品对象Goods,Map这样存储: Map <String,Goods> goodsmap = new HashMap<String,Goods> (); //以商品名(或其他属性)为键,Goods对象为值来存储。
------解决方案--------------------
可以商品名称,价格封装成一个对象。另外用了个map。key保存商品的名称,通过商品名称可以得到价格。value保存商品数量。这样输出就没问题了