首页>代码>小型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;
	}
}
最近下载更多
xiaotang156  LV2 2023年11月25日
2036495585  LV9 2023年9月25日
天士大夫  LV2 2023年5月25日
1004233692  LV1 2023年4月20日
itlaolang  LV5 2023年3月10日
15342201772  LV7 2022年12月4日
zwj4556  LV1 2022年11月12日
123agfargq  LV3 2022年6月14日
老鹏哥  LV1 2022年6月13日
微信网友_5996815851753472  LV1 2022年6月10日
最近浏览更多
暂无贡献等级
a2418735612  LV1 1月4日
taoshen95  LV14 2023年12月27日
asddwh  LV12 2023年12月25日
xiaotang156  LV2 2023年11月25日
才旬空  LV2 2023年11月11日
abandan  LV4 2023年11月5日
hongdongdong  LV12 2023年10月29日
hj1172788262  LV5 2023年10月25日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友