Java购物车前端代码_JavaWeb后台购物车类实现代码详解
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后台购物车类实现代码详解相关教程
Java购物车前端代码_JavaWeb后台购物车类实现代码详解相关推荐
- java random函数用法_JAVA的Random类的用法详解
Random类主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家. Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时 ...
- java dateutil 获取时间戳_java DateUtil工具类时间戳类型转换详解
本文实例为大家分享了DateUtil工具类时间戳类型转换的具体代码,供大家参考,具体内容如下 package com.sinosoft.media.sms.util; import java.text ...
- java中用法实例_java中Calendar类用法实例详解
本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...
- Java中Character(类型char)类及类型详解
1. java中char类型占2个字节.16位可以存放汉子,字母和数字占一个字节,一个字节8位,中文占2个字节,16位: 2. char类型赋值 char a='a'; //任意单个字符,加单引号. ...
- java web请求转发_Javaweb请求转发及重定向实现详解
请求转发:在同一个controller将请求转发到另一个请求映射,请求地址不会发生改变 //请求转发 @RequestMapping("/testFoeward") //@Resp ...
- java 重启线程_java 可重启线程及线程池类的设计(详解)
了解JAVA多线程编程的人都知道,要产生一个线程有两种方法,一是类直接继承Thread类并实现其run()方法:二是类实现Runnable接口并实现其run()方法,然后新建一个以该类为构造方法参数的 ...
- java后台验证不能为空_java validation 后台参数验证的使用详解
一.前言 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间 ...
- WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解
本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...
- java的数组与Arrays类源码详解
java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...
- [万字长文]使用 React 重写学成在线前端项目 I 代码完整可运行,步骤有详解
[万字长文]使用 React 重写学成在线前端项目 I 代码完整可运行,步骤有详解 准备工作 安装必备工具/库 nodejs React 脚手架 需要的 node 依赖包 分析需求 初始化项目 搭建框 ...
最新文章
- 从 Domino 7.x 升级到 Domino 8.0.1 后服务器性能下降
- LeetCode 430. Flatten a Multilevel Doubly Linked List
- Introduction to Cryto Crptocurrencies Lecture 1
- 汉字的ascii码值范围_ASCII代码
- 【LeetCode笔记】234. 回文链表(Java、快慢指针、链表)
- mysql当时读_Mysql事务以及四中隔离级别实例2以及InnoDB如何解决当时读的幻读问题...
- Ubuntu安装php
- 推荐一款日志切割神器!我常用~
- 智能优化算法:群居蜘蛛优化算法-附代码
- python ConfigParser模块 配置文件解析
- 400电话查询php,PHP 匹配电话,手机,400号码 函数 及正则。很管用。
- java for循环内执行多线程
- python程序实现rep后剪枝算法
- 服务器显示共享文件夹的图标,Win7共享文件夹上的小锁图标怎么关闭?
- # 你也可以在你的微信 or QQ头像添加小国旗了,超简单!
- 关于windows下的System32与SysWOW64两个文件夹
- 20200720《Flask进阶》——蓝本
- 《精英日课》第三季_2019年四月新书《九个工作谎言》_1工作是具体的,公司是虚拟的
- 90后歌单精选100首,我有歌,你有故事吗?
- android16进制编辑器,16进制编辑器app
热门文章
- js计算字典的个数_第11天:Python 字典
- cookie实现上次访问时间
- python编程正方形面积_编程里面的算法真的很难吗?
- matlab中频谱的实现,如何在MATLAB中实现频谱核函数?
- java删除指定文件后重新建立文件系统_java file 操作之创建、删除文件及文件夹...
- Power BI能否做帕累托分析
- 【Mybatis架构】Mapper映射文件中的#{}与${}
- hdu 5187 zhx's contest
- 关于Http请求后返回json乱码的问题
- ShenNiu.MVC管理系统