Java--购物车

gitee地址:https://gitee.com/wangyanyuvc/shopping-cart/tree/master/

1.前期调查

Java--购物车

通过观察京东购物车的界面可以大致了解到购物车需要实现的功能

2.系统功能结构图

Java--购物车

系统描述:进入购物车系统,根据界面提示来进行一系列商品操作,商城用以添加销售商品及商品的信息修改。并将所需商品添加进购物车中,也可在购物车中进行所需商品的添加,删除并结算商品。 3.UML图

Java--购物车

4.关键代码 ShoppingCart: import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class ShoppingCart { private Map<Integer, ProductItem> map = new LinkedHashMap<Integer, ProductItem>(); 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<ProductItem> productItems = map.values();// 获取键值 Iterator<ProductItem> 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<ProductItem> productItems = map.values(); Iterator<ProductItem> 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<Integer,ProductItem> map=new LinkedHashMap<Integer,ProductItem>(); 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<ProductItem> productItems = map.values();//获取键值 Iterator<ProductItem> 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("删除失败!市场中无此商品!"); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpyxp.html