java购物车简介_Java--购物车
Java--购物车
1.前期调查
通过观察京东购物车的界面可以大致了解到购物车需要实现的功能
2.系统功能结构图
系统描述:进入购物车系统,根据界面提示来进行一系列商品操作,商城用以添加销售商品及商品的信息修改。并将所需商品添加进购物车中,也可在购物车中进行所需商品的添加,删除并结算商品。
3.UML图
4.关键代码
ShoppingCart:
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
public class ShoppingCart {
private Map map = new LinkedHashMap();
public void addProduct(Product p) {// 添加商品
int productId = p.getId();
if (map.containsKey(productId)) { // 判断商品编号是否存在
ProductItem productItem = map.get(productId);
productItem.setCount(productItem.getCount() + 1); // 数量增加
} else {
map.put(productId, new ProductItem(p, 1));// 新增商品
}
}
public void showAll() {// 查看订单信息
Collection productItems = map.values();// 获取键值
Iterator iterator = productItems.iterator();
while (iterator.hasNext()) {
ProductItem productItem = iterator.next();
Product product = productItem.getProduct();
System.out.println("编号:" + product.getId() + ",名称:" + product.getName() + ",单价:" + product.getPrice()
+ ",数量:" + productItem.getCount() + ",小计:" + productItem.totalMoney());
}
}
public boolean deleteProduct(int productId) {// 删除商品
if (map.containsKey(productId)) {
map.remove(productId);
return true;
}
return false;
}
public boolean modifyProduct(int productId, int count) {// 修改商品数量
if (map.containsKey(productId)) {
if (count >= 1) {
ProductItem productItem = map.get(productId);
productItem.setCount(count);
return true;
} else if (count == 0) {// 删除某商品
deleteProduct(productId);
return true;
}
}
return false;
}
public void clearCart() {// 清空购物车
map.clear();
System.out.println("购物车已清空!");
}
public double totalAllMoney() {// 商品总价值
double total = 0;
Collection productItems = map.values();
Iterator iterator = productItems.iterator();
while (iterator.hasNext()) {
ProductItem productItem = iterator.next();
double money = productItem.totalMoney();
total += money;
}
return total;
}
public void Displaycart(ShoppingCart cart) {
if(map.isEmpty()) {
System.out.println("购物车为空!");
}
else{
cart.showAll();
System.out.println("总价为:" + cart.totalAllMoney());
}
}
}
Inventory:
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
public class Inventory {
private Map map=new LinkedHashMap();
public void addProduct(Product p){//添加商品
int productId=p.getId();
if(map.containsKey(productId)){ //判断商品编号是否存在
System.out.println("该商品已存在");
}else{
map.put(productId, new ProductItem(p));//新增商品
}
}
public boolean Productexist(int productId) {
if(!map.containsKey(productId)) {
return false;
}
return true;
}
public Product getProduct(int productId) {
return map.get(productId).getProduct();
}
public void showAll(){//查看订单信息
Collection productItems = map.values();//获取键值
Iterator iterator = productItems.iterator();
while(iterator.hasNext()){
ProductItem productItem = iterator.next();
Product product = productItem.getProduct();
System.out.println("编号:"+product.getId()+",名称:"
+product.getName()+",单价:"+product.getPrice());
}
}
public void deleteProduct(int productId){//删除商品
if(map.containsKey(productId)){
map.remove(productId);
System.out.println("编号为:" + productId + "的商品删除成功!");
}
else {
System.out.println("删除失败!市场中无此商品!");
}
}
}
java购物车简介_Java--购物车相关推荐
- java ee简介_Java EE 简介
Java EE 简介 Java EE 基本架构 JavaEE 的诞生是为了解决传统 C/S 架构的弊端:客户端臃肿庞大,扩展性差等弊端. JavaEE 将传统的两层结构细分为了四层. 这四层分别是:C ...
- java开发简介_Java Web开发介绍
转自:http://www.cnblogs.com/pythontesting/p/4963021.html 简介 Java很好地支持web开发,在桌面上Eclipse RCP谈不上成功,JAVA是主 ...
- java写入简介_Java关于IO流的介绍
2.InputStream 和 OutputStream 是两个 abstact 类,对于字节为导向的 stream 都扩展这两个基类; inputStream中的关键方法: read():方法是读取 ...
- java 线程简介_java多线程介绍
java多线程介绍 多线程的基本实现 进程指运行中的程序,每个进程都会分配一个内存空间,一个进程中存在多个线程,启动一个JAVA虚拟机,就是打开个一个进程,一个进程有多个线程,当多个线程同时进行,就叫 ...
- java购物车后台_java开发——购物车功能如何实现
java web开发_购物车功能实现 之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现. 查询的资料,找到三种方法: 1.用cookie实现购物车: ...
- java购物车设计_Java面向对象课程设计——购物车
Java面向对象课程设计--购物车 小组成员:余景胜.刘格铭.陈国雄.达瓦次仁 一.前期调查 流程 客人(Buyer)先在商城(Mall)中浏览商品(Commidity),将浏览的商品加入购物车(Sh ...
- java实现基本的购物车功能案例
需求:用java实现基本的购物车功能需求! 基本功能:添加商品 查询商品 修改商品数量 计算总价 基本思想:使用面向对象定义购物车类,定义类的属性方法从而进行操作:建议初学java的同学可以写一写这个 ...
- 阿里Java架构师讲解购物车的原理及实现
今天来写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码问:购物车商品还在吗? 2)用户登陆了用户名密码,添加商品,关闭浏 ...
- JAVA外卖项目第六天 购物车和订单模块
瑞吉外卖-第六天 课程内容 用户地址簿功能 菜品展示 购物车 下单 1. 用户地址簿功能 1.1 需求分析 地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息.同一个用户可 ...
- java相关技术简介_java技术简介?
java技术简介? 关注:186 答案:3 信息版本:手机版 电脑版 解决时间 2021-01-17 11:41 提问者坟地里唱嗨歌 2021-01-17 01:04 java技术简介? 最佳答案 ...
最新文章
- windows操作系统的日志类型
- STL 之 deque容器详解
- php 防止表单重复提交
- OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源
- 可动态扩展的数据库模型设计
- c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例
- java作业四_Java第四次作业
- virtualbox 虚拟化问题
- ORACLE数据库管理工具EM
- 学习短视频制作能做什么工作啊
- 2021年中国乙烯基一次性手套市场趋势报告、技术动态创新及2027年市场预测
- pythonmatplot可视化_python:matplotlib基础数据可视化,pythonmatplotlib
- 船用雷达x波段和s波段简介
- 生信过程中的各种文件格式
- MySQL 日期计算
- 阿里 P7 到底是怎样的水平 ???
- 计算机网络处理延时是什么原因,电脑网络延迟的解决方法是什么
- 音频声音太小怎么调大?
- 图片怎样加贴纸?这些方法值得一试
- 最新CentOS7.5部署L版ceph 20190610及额外手册告警升级多活等