当前位置: 代码迷 >> J2SE >> java 程序设计 求案例解决思路
  详细解决方案

java 程序设计 求案例解决思路

热度:758   发布时间:2016-04-24 02:25:26.0
java 程序设计 求案例
使用面向对象的概念 描述出如下生活场景!
小明 到超市买东西,所有买到的东西 放到了购物车之中,到最后 一起结账!

------解决方案--------------------
Java code
package com.ssj.test;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class Shopping {    private ShopCar shopCar ;    public Shopping() {        shopCar = new ShopCar();    }    public void add(String id , int num)    {        shopCar.add(id, num);    }        public void alter(String id , int num){        shopCar.alter(id, num);    }    public void del(String id){        shopCar.del(id);    }    /**     * 结算     */    public void slmt(){        int spend = 0;        Set<Entry<String, Integer>> entrys = shopCar.map.entrySet();        for (Entry<String, Integer> entry : entrys) {            int num = entry.getValue();            int price = Commodity.getPrice(entry.getKey());            spend+=num*price;            System.out.println("商品["+entry.getKey()+"],数量["+num+"],单价["+price+"],小计["+num*price+"]");        }        System.out.println("结算总共消费"+spend+"元");        shopCar.map.clear();    }        class ShopCar{        Map<String, Integer> map = new HashMap<String, Integer>();        public void add(String id , int num){            if(map.get(id)==null)                map.put(id, num);            else                map.put(id, map.get(id)+num);            System.out.println("增加购物车中商品["+id+"]数量为["+map.get(id)+"]");        }                public void alter(String id , int num){            map.put(id, num);            System.out.println("修改购物车中商品["+id+"]数量为["+num+"]");        }                public void del(String id )        {            map.remove(id);            System.out.println("删除购物车中商品["+id+"]");        }    }        static final class Commodity{        public static final Map<String,Integer> map = new HashMap<String,Integer>();        static{            map.put("PAPER", 80) ;            map.put("THOOTHBRUSH", 120) ;            map.put("WATER", 300) ;        }                public static int getPrice(String id){            return map.get(id);        }    }        public static void main(String[] args) {        Shopping shopper =  new Shopping();        //买5个纸团        shopper.add("PAPER", 5);        //买2个牙刷        shopper.add("THOOTHBRUSH", 2);        //买2桶水        shopper.add("WATER",2);        //水买少了,再买10桶        shopper.add("WATER",1);        //算了点的手疼,直接把水改成12桶吧        shopper.alter("WATER", 12);        //牙刷昨天买了……删了吧        shopper.del("THOOTHBRUSH");        //做结算        shopper.slmt();    }}
  相关解决方案