用JAVA编写:设计并实现购物车的逻辑存储,购买的若干商品和数量。包括商品的添加,删除,遍历输出及购物车的清空等方法。添加商品完成数量的累加;删除商品,如果商品在购物车中,按数量删除,如果剩余数量小于等于零,则删除这个商品。设计所需的构造函数和成员函数。编写主函数测试所写的功能
时间: 2024-09-17 17:01:55 浏览: 51
在Java中,我们可以创建一个`ShoppingCart`类来实现购物车的功能。首先,我们需要一个内部类`Item`来表示商品及其数量,然后实现`ShoppingCart`类的添加、删除、遍历和清空操作。
```java
// 商品类
class Item {
String name;
int quantity;
public Item(String name, int quantity) {
this.name = name;
this.quantity = quantity;
}
// 其他 getter 和 setter 方法...
}
// 购物车类
public class ShoppingCart {
private List<Item> items; // 使用列表存储商品
// 构造函数
public ShoppingCart() {
this.items = new ArrayList<>();
}
// 添加商品
public void addItem(Item item) {
items.add(item);
}
// 删除商品
public boolean removeItem(Item item) {
return items.remove(item); // 如果找到则返回true,并从list中移除
}
// 遍历输出所有商品
public void printItems() {
for (Item item : items) {
System.out.println("商品名: " + item.name + ", 数量: " + item.quantity);
}
}
// 清空购物车
public void clearCart() {
items.clear();
}
// 测试功能
public static void main(String[] args) {
// 创建购物车实例
ShoppingCart cart = new ShoppingCart();
// 添加商品
cart.addItem(new Item("苹果", 5));
cart.addItem(new Item("香蕉", 3));
// 打印商品
cart.printItems();
// 删除商品
if (cart.removeItem(new Item("苹果", 2))) {
System.out.println("删除了2个苹果");
} else {
System.out.println("苹果未在购物车中");
}
// 再次打印,确认删除效果
cart.printItems();
// 清空购物车
cart.clearCart();
// 最后检查是否已清空
if (cart.isEmpty()) {
System.out.println("购物车已清空");
}
}
// 检查购物车是否为空
private boolean isEmpty() {
return items.isEmpty();
}
}
```
上述代码展示了如何创建一个简单的购物车模型。通过构造函数初始化购物车,添加、删除、遍历商品以及清空购物车。主函数测试了这些基本操作。
阅读全文