一、产品类
public class Product {
private int productId;
private String productName;
private String category;
private float price;
private String picture;
@Override
public String toString() {
return "Product{" +
"productId=" + productId +
", productName='" + productName + '\'' +
", category='" + category + '\'' +
", price=" + price +
", picture='" + picture + '\'' +
'}';
}
public int getProductId() {
return productId;
}
public void setProductId(int productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
public Product(int productId, String productName, String category, float price, String picture) {
this.productId = productId;
this.productName = productName;
this.category = category;
this.price = price;
this.picture = picture;
}
public Product() {
}
}
二、产品列表类
public class ProductItem {
private Product product;
private int count;
@Override
public String toString() {
return "ProductItem{" +
"product=" + product +
", count=" + count +
'}';
}
public Product getProduct() {
return product;
}
public float getTotalPrice() {
return this.product.getPrice() * count;
}
public void setProduct(Product product) {
this.product = product;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public ProductItem(Product product, int count) {
this.product = product;
this.count = count;
}
public ProductItem() {
}
}
三、购物车类
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Set;
public class ShopTest {
private LinkedHashMap<Integer, ProductItem> lmp = new LinkedHashMap<>();
public static void main(String[] args) {
Product p1 = new Product(1, "ThinkPad", "笔记本电脑", 7000, "c://img1");
Product p2 = new Product(2, "MacPro", "笔记本电脑", 10000, "c://img2");
Product p3 = new Product(3, "Hp", "笔记本电脑", 5000, "c://img3");
ShopTest st = new ShopTest();
st.addProduct(p2, 2);
st.addProduct(p1, 30);
st.addProduct(p3, 10);
st.showAll();
st.modifyProduct(p1, 31);
st.showAll();
st.delProduct(p1);
st.showAll();
st.clearProduct();
st.showAll();
}
public void addProduct(Product product, int num) {
ProductItem proItem = new ProductItem(product, num);
lmp.put(product.getProductId(), proItem);
}
public void showAll() {
Iterator<Integer> it = lmp.keySet().iterator();
while (it.hasNext()) {
Integer next = it.next();
ProductItem item = lmp.get(next);
Product pro = item.getProduct();
System.out.println("名称:" + pro.getProductName() + " 单价:"
+ pro.getPrice() + " 数量:" + item.getCount() + " 小计:"
+ item.getTotalPrice());
}
System.out.println("总计:" + getTotalPrice());
}
public float getTotalPrice() {
Set<Integer> id = lmp.keySet();
float sum = 0;
for (Integer i :
id) {
sum += lmp.get(i).getTotalPrice();
}
return sum;
}
public void modifyProduct(Product product, int count) {
if (lmp.containsKey(product.getProductId())) {
ProductItem item = lmp.get(product.getProductId());
item.setCount(count);
System.out.println("修改成功!");
} else {
System.out.println("不存在该商品!!");
}
}
public void delProduct(Product product) {
if (lmp.containsKey(product.getProductId())) {
lmp.remove(product.getProductId());
System.out.println("成功移除" + product.getProductName() + "商品");
} else {
System.out.println("抱歉, 无该商品, 删除失败");
}
}
public void clearProduct() {
lmp.clear();
System.out.println("购物车已经清空!");
}
}
四、运行结果