JAva找出并打印2023年休息日日期号出现最多的全部日期号
时间: 2023-09-16 21:16:02 浏览: 40
以下是Java实现该功能的代码:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class HolidayFinder {
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2023, 12, 31);
// 找出所有是休息日的日期
Map<Integer, Integer> holidays = new HashMap<>();
while (!startDate.isAfter(endDate)) {
if (startDate.getDayOfWeek() == DayOfWeek.SATURDAY || startDate.getDayOfWeek() == DayOfWeek.SUNDAY) {
int dayOfMonth = startDate.getDayOfMonth();
holidays.put(dayOfMonth, holidays.getOrDefault(dayOfMonth, 0) + 1);
}
startDate = startDate.plusDays(1);
}
// 找出出现次数最多的日期
int maxCount = Collections.max(holidays.values());
List<Integer> mostFrequentDates = new ArrayList<>();
for (Map.Entry<Integer, Integer> entry : holidays.entrySet()) {
if (entry.getValue() == maxCount) {
mostFrequentDates.add(entry.getKey());
}
}
// 打印结果
System.out.println("2023年休息日日期号出现最多的全部日期号:");
Collections.sort(mostFrequentDates);
for (int date : mostFrequentDates) {
System.out.println(date);
}
}
}
```
该代码会输出2023年休息日日期号出现最多的全部日期号。