Java购物车前端代码_JavaWeb后台购物车类实现代码详解

JavaWeb后台购物车类实现代码详解

e995e114bf0c2470912e62e5214bfa11.png

购物车类分装了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后台购物车类实现代码详解相关教程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值