日期:2014-05-20  浏览次数:20717 次

求解放值

Java code


        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("添加失败!");
        }
        
        
    }



这是一个商品添加的方法,我想实现:同步存三个值(商品名称,价格,数量),我试过用一个Map<分别放:商品名称,商品数量>,一个List<商品价格>,但是在输出的时候总是不能同步(放入的时候是同步放入的)。

简化一下:

【同步输出】,存三个值:商品名称,价格(可以实现累加求和),数量(可以加减)

等大神。。。。。。谢谢了。。

------解决方案--------------------
Java code

我觉得可以将
private String goodsname ;//定义名称
private Double goodsprice;//定义单价
private Integer goodNumber ;//定义数量
等等属性封装为一个商品对象Goods,Map这样存储:
 Map <String,Goods> goodsmap = new HashMap<String,Goods>  (); //以商品名(或其他属性)为键,Goods对象为值来存储。

------解决方案--------------------
可以商品名称,价格封装成一个对象。另外用了个map。key保存商品的名称,通过商品名称可以得到价格。value保存商品数量。这样输出就没问题了