用java计算2026年的1-28号,哪几个号是周末的次数最多?
系统输出:2026年的?遇到周末最多,分别是?
import java.time.DayOfWeek;
import java.time.LocalDate;
public class WeekendCounter {
public static void main(String[] args) {
int[] weekendCount = new int[29]; // 用于记录每个日期周末出现的次数
for (int month = 1; month <= 12; month++) {
for (int day = 1; day <= 28; day++) {
LocalDate date = LocalDate.of(2026, month, day);
DayOfWeek dayOfWeek = date.getDayOfWeek();
if (dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY) {
weekendCount[day]++; // 周末出现次数加1
}
}
}
int maxCount = 0;
for (int i = 1; i <= 28; i++) {
if (weekendCount[i] > maxCount) {
maxCount = weekendCount[i];
}
}
System.out.println("出现周末次数最多的日期为:");
for (int i = 1; i <= 28; i++) {
if (weekendCount[i] == maxCount) {
System.out.println("2026年" + i + "日");
}
}
}
}
从20260101开始,每一个日期用函数判断是周末就给数组里这个号数为下标的值+1,最后找到数组里最大数的下标