在大一知识范围中用JAVA写一个集合类的购物管理模块其中包括商品信息,查询商品详细信息,添加购物车,清空购物车,购物车结算
时间: 2023-10-01 13:12:41 浏览: 44
好的,以下是一个简单的实现示例:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class ShoppingManager {
private Map<String, Product> products; // 商品信息
private List<Product> cart; // 购物车
public ShoppingManager() {
products = new HashMap<>();
cart = new ArrayList<>();
}
// 添加商品
public void addProduct(String id, String name, double price, int stock) {
Product product = new Product(id, name, price, stock);
products.put(id, product);
}
// 查询商品详细信息
public void showProductDetails(String id) {
Product product = products.get(id);
if (product == null) {
System.out.println("商品不存在!");
} else {
System.out.println("商品编号:" + product.getId());
System.out.println("商品名称:" + product.getName());
System.out.println("商品单价:" + product.getPrice());
System.out.println("商品库存:" + product.getStock());
}
}
// 添加商品到购物车
public void addToCart(String id, int amount) {
Product product = products.get(id);
if (product == null) {
System.out.println("商品不存在!");
} else if (product.getStock() < amount) {
System.out.println("商品库存不足!");
} else {
Product item = new Product(product.getId(), product.getName(), product.getPrice(), amount);
cart.add(item);
product.setStock(product.getStock() - amount);
System.out.println("已将 " + amount + " 件 " + product.getName() + " 添加到购物车!");
}
}
// 清空购物车
public void clearCart() {
cart.clear();
System.out.println("购物车已清空!");
}
// 购物车结算
public void checkout() {
double total = 0;
if (cart.isEmpty()) {
System.out.println("购物车为空,请先添加商品!");
return;
}
System.out.println("======== 购物清单 ========");
for (Product item : cart) {
System.out.println(item.getName() + " x " + item.getStock() + " ¥" + item.getTotalPrice());
total += item.getTotalPrice();
}
System.out.println("==========================");
System.out.println("总计:" + total + " 元");
System.out.println("谢谢惠顾,欢迎下次光临!");
cart.clear();
}
// 测试
public static void main(String[] args) {
ShoppingManager manager = new ShoppingManager();
manager.addProduct("001", "手机", 1999.0, 100);
manager.addProduct("002", "电脑", 5999.0, 50);
manager.addProduct("003", "平板", 1299.0, 80);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1.查询商品详细信息 2.添加商品到购物车 3.清空购物车 4.购物车结算 5.退出程序");
int choice = scanner.nextInt();
if (choice == 1) {
System.out.println("请输入商品编号:");
String id = scanner.next();
manager.showProductDetails(id);
} else if (choice == 2) {
System.out.println("请输入商品编号和购买数量:");
String id = scanner.next();
int amount = scanner.nextInt();
manager.addToCart(id, amount