日期:2014-05-20 浏览次数:20910 次
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保存商品数量。这样输出就没问题了