设计并实现购物车的逻辑存储,购买的若干商品和数量。包括商品的添加,删除,遍历输出及购物车的清空等方法。添加商品完成数量的累加;删除商品,如果商品在购物车中,按数量删除如果剩余数量小于等于零,则删除这个商品。设计所需的构造函数和成员函数。用Java编写主函数测试所写的功能。
时间: 2024-09-17 08:03:44 浏览: 54
在Java中,我们可以设计一个简单的`ShoppingCart`类来模拟购物车的功能。下面是一个基本的实现:
```java
import java.util.HashMap;
import java.util.Map;
public class ShoppingCart {
// 使用HashMap来存储商品及其数量
private Map<String, Integer> cartItems = new HashMap<>();
// 构造函数,初始化购物车为空
public ShoppingCart() {}
// 添加商品方法
public void addItem(String productName, int quantity) {
if (cartItems.containsKey(productName)) {
cartItems.put(productName, cartItems.get(productName) + quantity);
} else {
cartItems.put(productName, quantity);
}
}
// 删除商品方法
public void removeItem(String productName) {
if (cartItems.containsKey(productName)) {
int currentQuantity = cartItems.get(productName);
if (currentQuantity > 0) {
cartItems.put(productName, currentQuantity - 1);
if (currentQuantity == 0) {
cartItems.remove(productName);
}
}
}
}
// 遍历打印购物车内容
public void displayCart() {
for (Map.Entry<String, Integer> entry : cartItems.entrySet()) {
System.out.println("商品:" + entry.getKey() + " 数量:" + entry.getValue());
}
}
// 清空购物车
public void clearCart() {
cartItems.clear();
}
// 主函数测试
public static void main(String[] args) {
ShoppingCart cart = new ShoppingCart();
cart.addItem("苹果", 5);
cart.addItem("香蕉", 3);
cart.displayCart(); // 输出: 商品:苹果 数量:5 商品:香蕉 数量:3
cart.removeItem("苹果");
cart.displayCart(); // 输出: 商品:香蕉 数量:3
cart.clearCart();
cart.displayCart(); // 输出: (无)
// 添加一个不存在的商品不会有任何影响
cart.addItem("橙子", 2); // 空白行
}
}
```
在这个示例中,我们创建了一个`ShoppingCart`类,包含`cartItems`作为内部数据结构,以及添加、删除、显示和清空商品的方法。在`main`函数中,我们演示了如何使用这些方法对购物车进行操作。
阅读全文