java水果店每逢法定节假日或双休就有一种水果打折。每种水果一年最多有十次最多有十次打折机会,该水果品类打折完毕之后,下一个假日会将打折机会其他品类的水果。假定全年供应苹果,香蕉,橙子三种水果,模拟输出他们交替打折的记录
时间: 2024-05-12 13:18:23 浏览: 166
ChitGPT: 您好,欢迎和我聊天!关于您的问题,我可以为您编写一个简单的程序来模拟输出记录。以下是示例代码:
```
import java.util.*;
public class FruitDiscount {
public static void main(String[] args) {
// 初始化水果列表和每种水果的打折机会
String[] fruits = {"苹果", "香蕉", "橙子"};
Map<String, Integer> discount = new HashMap<>();
for (String fruit : fruits) {
discount.put(fruit, 10);
}
// 模拟一年中的每一天
for (int day = 1; day <= 365; day++) {
// 判断是否为法定节假日或双休日
if (day % 7 == 6 || day % 7 == 0) {
// 计算出当前应该打折的水果
String targetFruit = null;
for (String fruit : fruits) {
if (discount.get(fruit) > 0) {
targetFruit = fruit;
break;
}
}
// 如果没有可以打折的水果,则说明所有水果都已经打折完毕,需等到下一个假日
if (targetFruit == null) {
continue;
}
// 输出打折信息,并将该水果的打折机会-1
System.out.println("第" + day + "天:" + targetFruit + "打折!");
discount.put(targetFruit, discount.get(targetFruit) - 1);
// 如果该水果的打折机会已经用完,则将机会转移给下一个水果
if (discount.get(targetFruit) == 0) {
for (int i = 0; i < fruits.length; i++) {
if (!fruits[i].equals(targetFruit) && discount.get(fruits[i]) > 0) {
targetFruit = fruits[i];
break;
}
}
System.out.println(" " + targetFruit + "将继续打折!");
}
}
}
}
}
```
请注意,这只是一个简单的模拟程序,没有考虑很多实际情况,如如何处理假期调休等。如果您有更多需求和问题,请随时和我说话!
阅读全文