首页>代码>小型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;
	}
}
最近下载更多
23120450  LV1 6月18日
郭宇航裹裹  LV5 6月8日
statics  LV1 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日
15342201772  LV9 2022年12月4日
最近浏览更多
fankech  LV1 11月4日
zmj040202  LV1 10月28日
yanghu1632  LV1 8月9日
23120450  LV1 6月18日
郭宇航裹裹  LV5 6月7日
xiao1111  LV3 5月16日
baining  LV1 5月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友