java购物车简介_Java--购物车

Java--购物车

1.前期调查

42d108b755a84a319039655b3563301f.png

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

2.系统功能结构图

bf2983859b199b6bde5b6af31794237b.png

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

3.UML图

7a258386decd60f546f7bd56dfc7b098.png

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("删除失败!市场中无此商品!");

}

}

}


版权声明:本文为weixin_39843782原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。