java模拟购物车代码
时间: 2024-02-08 08:41:43 浏览: 34
好的,以下是一段 Java 模拟购物车的代码:
```
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class ShoppingCartDemo {
public static void main(String[] args) {
// 初始化商品信息
Map<String, Double> goodsMap = new HashMap<>();
goodsMap.put("商品1", 15.0);
goodsMap.put("商品2", 25.0);
goodsMap.put("商品3", 35.0);
goodsMap.put("商品4", 45.0);
goodsMap.put("商品5", 55.0);
// 初始化购物车
Map<String, Integer> shoppingCart = new HashMap<>();
Scanner scanner = new Scanner(System.in);
while (true) {
// 展示商品列表
System.out.println("商品列表:");
for (Map.Entry<String, Double> entry : goodsMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
System.out.print("\n请输入要加入购物车的商品名称(输入exit退出):");
String goodsName = scanner.nextLine();
if (goodsName.equalsIgnoreCase("exit")) {
break;
}
// 判断商品名称是否合法
if (!goodsMap.containsKey(goodsName)) {
System.out.println("输入的商品名称有误,请重新输入!");
continue;
}
System.out.print("请输入要加入购物车的商品数量:");
int number = scanner.nextInt();
scanner.nextLine(); // skip the "\n" character
// 将商品加入购物车
if (shoppingCart.containsKey(goodsName)) {
shoppingCart.put(goodsName, shoppingCart.get(goodsName) + number);
} else {
shoppingCart.put(goodsName, number);
}
System.out.println("商品已经成功加入购物车!");
}
// 展示购物车信息
if (shoppingCart.isEmpty()) {
System.out.println("购物车为空!");
} else {
System.out.println("购物车信息:");
double totalPrice = 0.0;
for (Map.Entry<String, Integer> entry : shoppingCart.entrySet()) {
String goodsName = entry.getKey();
int number = entry.getValue();
double price = goodsMap.get(goodsName);
System.out.println(goodsName + " 数量:" + number + " 单价:" + price);
totalPrice += number * price;
}
System.out.println("总价:" + totalPrice);
}
System.out.println("谢谢光临!");
}
}
```
该代码使用了 HashMap 来存储商品信息和购物车信息,使用 Scanner 获取用户的输入。用户可以根据商品列表选择要加入购物车的商品和数量,程序会自动判断商品名称是否正确,并将商品加入购物车。最后,程序会展示购物车信息和总价。