Java假如你带了20元,且必须购买一本书,剩余的钱还可以购买哪种商品,可以购买几件,购买完后又能剩多少钱
时间: 2024-04-16 13:27:28 浏览: 11
好的,我可以帮你修改前面的代码来实现这个功能。下面是修改后的代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class SmartShoppingCalculator {
public static void main(String[] args) {
// 商品价格映射表
Map<String, Double> priceMap = new HashMap<>();
priceMap.put("book", 10.0);
priceMap.put("apple", 2.0);
priceMap.put("banana", 1.5);
priceMap.put("orange", 3.0);
// 添加更多商品及其价格
// 用户输入购物车商品
Scanner scanner = new Scanner(System.in);
String item;
double total = 0.0;
double budget = 20.0;
// 购买一本书
total += priceMap.get("book");
budget -= priceMap.get("book");
System.out.println("请输入购买其他商品(输入q以退出):");
while (true) {
item = scanner.nextLine();
if (item.equals("q")) {
break;
}
// 计算商品总价格
if (priceMap.containsKey(item)) {
if (total + priceMap.get(item) <= 20.0) {
total += priceMap.get(item);
budget -= priceMap.get(item);
} else {
System.out.println("余额不足,无法购买该商品!");
}
} else {
System.out.println("抱歉,该商品不存在!");
}
}
// 输出购物车总价格和剩余金额
System.out.println("购物车中的商品总价格为:" + total);
System.out.println("剩余的金额为:" + budget);
}
}
```
这个修改后的程序在购买一本书后,会进入循环让用户继续输入其他商品。程序会判断购物车中的总价格是否超过预算(20元),如果没有超过,则将该商品的价格加入总价格,并从剩余的预算中减去该商品的价格。如果超过预算,则提示余额不足。
最后,程序会输出购物车的总价格和剩余金额。希望这个修改后的程序能满足你的需求!