JavaWeb后台购物车类实现代码详解
购物车类分装了Item和数量的一个集合,还有商品的总金额
下面是购物车类的详细代码以及测试方法:
package com.wxd.shopping;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//购物车
public class Cart {
//购买商品的集合
private HashMap goods;
//购物车的总金额
private double totalPrice;
//构造方法初始化数据
public Cart(){
goods=new HashMap();
totalPrice=0.0;
}
public HashMap getGoods() {
return goods;
}
public void setGoods(HashMap goods) {
this.goods = goods;
}
public double getTotalPrice() {
return totalPrice;
}
public void setTotalPrice(double totalPrice) {
this.totalPrice = totalPrice;
}
//添加商品进购物车的方法
public boolean addGoodsInCart(Item item,int number){
if(goods.containsKey(item)){
goods.put(item,goods.get(item)+number);
}else{
goods.put(item,number);
}
calTotalPrice();//重新计算购物车的总金额
return true;
}
//删除商品的方法
public boolean removeGoodsFromCart(Item item){
goods.remove(item);
calTotalPrice();//重新计算购物车的总金额
return true;
}
//统计购物车的总金额
public double calTotalPrice(){
double sum=0.0;
Set keys=goods.keySet();
Iterator iterator = keys.iterator();
while (iterator.hasNext()){
Item i = iterator.next();
sum+=i.getPrice()*goods.get(i);
}
this.setTotalPrice(sum);//设置购物车的总金额
return this.getTotalPrice();
}
//测试的main方法
public static void main(String[] args) {
//先创建两个商品对象
Item i1=new Item(1,"耐克","温州",300.0,500,"001.jpg");
Item i2=new Item(2,"阿迪","广州",500.0,500,"001.jpg");
Item i3=new Item(1,"耐克","温州",300.0,500,"001.jpg");
Cart c=new Cart();
c.addGoodsInCart(i1,1);
c.addGoodsInCart(i2,2);
//再次购买耐克鞋
c.addGoodsInCart(i3,3);
//遍历购买商品的集合
HashMap goods = c.getGoods();
Set> entries = goods.entrySet();
for(Map.Entry itemEntry:entries){
System.out.println(itemEntry.toString());
}
System.out.println("购物车总金额:"+c.getTotalPrice());
}
}
JavaWeb后台购物车类实现代码详解相关教程