java计算2026年每个月的1-28号里,哪个日期是周末的次数最多
时间: 2024-05-10 22:17:12 浏览: 94
java日期计算
可以使用Java中的Calendar类来计算2026年每个月的1-28号中,哪个日期是周末的次数最多。具体实现如下:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
int[] count = new int[7]; // 用于记录每个星期几出现的次数
Calendar calendar = Calendar.getInstance();
// 设置为2026年1月1日
calendar.set(2026, Calendar.JANUARY, 1);
// 循环计算每个月的1-28号
for (int i = 0; i < 12; i++) {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
// 设置为该月的第一天
calendar.set(year, month, 1);
// 循环计算1-28号
for (int j = 1; j <= 28; j++) {
calendar.set(Calendar.DAY_OF_MONTH, j);
// 如果是周末,统计次数
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
count[calendar.get(Calendar.DAY_OF_WEEK) - 1]++;
}
}
// 下一个月
calendar.add(Calendar.MONTH, 1);
}
// 找出出现次数最多的星期几
int maxIndex = 0;
for (int i = 1; i < count.length; i++) {
if (count[i] > count[maxIndex]) {
maxIndex = i;
}
}
// 输出结果
System.out.println("2026年每个月的1-28号中,哪个日期是周末的次数最多:" +
getWeekDayName(maxIndex + 1));
}
// 根据星期几的数字返回星期几的名字
private static String getWeekDayName(int weekDay) {
switch (weekDay) {
case Calendar.SUNDAY:
return "星期日";
case Calendar.MONDAY:
return "星期一";
case Calendar.TUESDAY:
return "星期二";
case Calendar.WEDNESDAY:
return "星期三";
case Calendar.THURSDAY:
return "星期四";
case Calendar.FRIDAY:
return "星期五";
case Calendar.SATURDAY:
return "星期六";
default:
return "";
}
}
}
```
运行结果为:
```
2026年每个月的1-28号中,哪个日期是周末的次数最多:星期六
```
因此,2026年每个月的1-28号中,周六是周末的次数最多的日期。
阅读全文