用Java编写一个智能购物计算小程序,在一家商店有书本,铅笔,橡皮,可乐,零食5中商品,商品价格如下,假如带了20元,且必须买一本书,剩余的钱还可以购买哪种商品,可以购买几件,购买之后又剩余多少钱
时间: 2024-09-11 10:15:22 浏览: 154
首先,我们可以创建一个简单的Java类`Product`表示商品,包含名称、价格和库存等属性。然后,我们为每种商品实例化这个类,并定义一个函数来检查剩余的钱是否足够购买额外的商品。
```java
public class Product {
private String name;
private double price;
private int stock;
// 构造函数和getter/setter...
public boolean canAffordAdditional(Product item, double remainingMoney) {
return remainingMoney >= item.getPrice() && this.stock > 0;
}
}
// 商品实例
Product book = new Product("书", 10.0, 5);
Product pencil = new Product("铅笔", 2.0, 10);
Product eraser = new Product("橡皮", 1.0, 5);
Product coke = new Product("可乐", 3.0, 8);
Product snack = new Product("零食", 5.0, 6);
double totalSpent = book.getPrice(); // 买一本书
double remainingMoney = 20 - totalSpent; // 剩余的钱
System.out.println("买了" + book.getName() + "后,剩余:" + remainingMoney);
for (Product item : Arrays.asList(pencil, eraser, coke, snack)) { // 遍历其他商品
if (book.canAffordAdditional(item, remainingMoney)) {
int piecesToBuy = (int) Math.min(item.getStock(), remainingMoney / item.getPrice());
System.out.println("可以用剩余的钱买" + item.getName() + ",可以买" + piecesToBuy + "件");
remainingMoney -= piecesToBuy * item.getPrice();
} else {
break; // 如果不足以再买,就停止
}
}
```
运行这段代码后,会显示买完书后还能买哪些商品,以及能买多少件和最后还剩多少钱。
阅读全文