首页>代码>小型java购物车,实现购物车的增删改查简单功能>/购物车java项目/ShoppingSystem/src/www/mary/Bean/Cart.java
package www.mary.Bean;


import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;





import www.mary.access.*;

public class Cart {

	private Map map=Collections.synchronizedMap(new HashMap());//该属性用来存采购的产品项,是按照id号作索引,以nember记录存入多少相同的实例
	public Cart() 
	{
		
	}
	
	public void additem(String itemid,int number){
		//先判断购物车中有没有重复的产品
		boolean is=this.isContain(itemid);
		if(is){
			CarItem caritem=(CarItem)map.get(itemid);
	        caritem.add(number);
		}else{
			 //如果购物车中没有该产品项	
			ItemBean item=PowerAccess.getOneItem(itemid);
	        CarItem caritem=new CarItem(item,number);//?
	        map.put(itemid,caritem);  //?
		}
	}
	
	//这类是判断是否有相同的产品,以itemid作为索引来查询
	public boolean isContain(String itemid){
		return map.containsKey(itemid);
	
	}

	//这里是更行
    public void updateNumber(String itemid,int number)
    {
        CarItem caritem=(CarItem)map.get(itemid);
        caritem.setNumber(number);	
    }
    
    
    public void removeItem(String itemid)
    {
       map.remove(itemid);	
    }
    //得到某种产品项的总价格
    public double getItemTotalPrice(String itemid)
    {
        CarItem caritem=(CarItem)map.get(itemid);  //通过itemid得到map存的实例
        double listprice=caritem.getItem().getLISTPRICE();   //得到价格
        int number=caritem.getNumber();                      //得到数量
        return listprice*number;                             //得到行的总金额
    }  
    public double getTotalPrice()                            //得到列的总金额
    {
       double totalprice=0.0;	                             //如果没有产品,初始值为0.0
       Iterator iter=map.values().iterator();	             //迭代展现map
       while(iter.hasNext())
       {
    	  CarItem caritem=(CarItem)iter.next();              //得到cartitem实例
          double listprice=caritem.getItem().getLISTPRICE(); //先得到行的总金额
    	  int    number=caritem.getNumber();                 //再得到每行的数量
    	  totalprice+=listprice*number;                      //然后随着循环累加金额
       }
       return totalprice;
    }
	public Map getMap() {
		return map;
	}
}
最近下载更多
rebest  LV2 2024年12月27日
23120450  LV1 2024年6月18日
郭宇航裹裹  LV5 2024年6月8日
微信网友_7005760998215680  LV6 2024年5月23日
statics  LV1 2024年5月7日
xiaotang156  LV2 2023年11月25日
2036495585  LV9 2023年9月25日
天士大夫  LV2 2023年5月25日
1004233692  LV1 2023年4月20日
itlaolang  LV6 2023年3月10日
最近浏览更多
rebest  LV2 2024年12月27日
微信网友_7313058229293056 2024年12月26日
暂无贡献等级
fankech  LV1 2024年11月4日
zmj040202  LV1 2024年10月28日
yanghu1632  LV1 2024年8月9日
微信网友_7043154826989568  LV1 2024年6月18日
微信网友_6992940666048512  LV1 2024年6月18日
23120450  LV1 2024年6月18日
郭宇航裹裹  LV5 2024年6月7日
微信网友_7005760998215680  LV6 2024年5月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友