.创建一个集合框架类ShoppingCart,包含一个Map<String, Integer>类型的属性,用于保存商品名称和商品数量; 该类有一下方法: addItem(String item, int quantity):向购物车中添加商品,如果商品已存在,则数量增加。 removeItem(String item):从购物车中删除商品。 getTotal():返回购物车中所有商品的总价。
时间: 2024-02-24 19:59:47 浏览: 47
好的,以下是基于您的要求实现的 ShoppingCart 类的代码:
```java
import java.util.Map;
import java.util.HashMap;
public class ShoppingCart {
private Map<String, Integer> items = new HashMap<>();
public void addItem(String item, int quantity) {
if (items.containsKey(item)) {
items.put(item, items.get(item) + quantity);
} else {
items.put(item, quantity);
}
}
public void removeItem(String item) {
items.remove(item);
}
public double getTotal() {
double total = 0.0;
for (Map.Entry<String, Integer> entry : items.entrySet()) {
String item = entry.getKey();
int quantity = entry.getValue();
double price = getPrice(item);
total += price * quantity;
}
return total;
}
private double getPrice(String item) {
// 根据商品名称获取商品价格
// 这里只是示例代码,实际情况可能需要从数据库或其他地方获取价格
if (item.equals("item1")) {
return 10.0;
} else if (item.equals("item2")) {
return 20.0;
} else if (item.equals("item3")) {
return 30.0;
} else {
return 0.0;
}
}
}
```
这个 ShoppingCart 类包含一个 Map 类型的 items 属性,用于保存商品名称和数量。addItem 方法用于向购物车中添加商品,如果商品已存在,则数量增加;removeItem 方法用于从购物车中删除商品;getTotal 方法返回购物车中所有商品的总价。这个 ShoppingCart 类还包含一个私有方法 getPrice,用于根据商品名称获取商品价格,这里只是示例代码,实际情况可能需要从数据库或其他地方获取价格。
阅读全文