java模拟购物车系统
时间: 2023-11-18 17:44:02 浏览: 32
好的,我可以为您提供一个简单的 Java 模拟购物车系统的实现。
首先,我们需要定义一个商品类 `Product`,它应该包含名称、价格和库存等属性:
```java
public class Product {
private String name;
private double price;
private int stock;
public Product(String name, double price, int stock) {
this.name = name;
this.price = price;
this.stock = stock;
}
// getter 和 setter 方法省略
}
```
然后,我们需要定义一个购物车类 `Cart`,它应该包含商品列表、总价格等属性,以及添加商品、移除商品、计算总价等方法:
```java
import java.util.ArrayList;
import java.util.List;
public class Cart {
private List<Product> productList;
private double totalPrice;
public Cart() {
this.productList = new ArrayList<>();
this.totalPrice = 0;
}
public void addProduct(Product product, int quantity) {
if (product.getStock() < quantity) {
System.out.println("库存不足!");
return;
}
for (Product p : productList) {
if (p.getName().equals(product.getName())) {
p.setStock(p.getStock() - quantity);
totalPrice += product.getPrice() * quantity;
return;
}
}
Product newProduct = new Product(product.getName(), product.getPrice(), product.getStock() - quantity);
productList.add(newProduct);
totalPrice += product.getPrice() * quantity;
}
public void removeProduct(String productName, int quantity) {
for (Product p : productList) {
if (p.getName().equals(productName)) {
if (p.getStock() + quantity > 0) {
p.setStock(p.getStock() + quantity);
totalPrice -= p.getPrice() * quantity;
} else {
System.out.println("商品数量不能小于0!");
}
return;
}
}
System.out.println("购物车中不存在该商品!");
}
public double getTotalPrice() {
return totalPrice;
}
}
```
最后,我们可以在 `Main` 类中测试购物车系统的功能:
```java
public class Main {
public static void main(String[] args) {
Product p1 = new Product("iPhone 11", 5999, 10);
Product p2 = new Product("iPad Pro", 7999, 5);
Cart cart = new Cart();
cart.addProduct(p1, 2);
cart.addProduct(p2, 1);
System.out.println("总价:" + cart.getTotalPrice());
cart.removeProduct("iPhone 11", 1);
System.out.println("总价:" + cart.getTotalPrice());
cart.addProduct(p2, 10);
System.out.println("总价:" + cart.getTotalPrice());
}
}
```
输出结果如下:
```
总价:13997.0
总价:9998.0
库存不足!
总价:9998.0
```
这就是一个简单的 Java 模拟购物车系统。当然,这只是一个基础版本,您可以根据实际需求进行扩展。