swich判断年份月份LocalDate
import java.time.LocalDate;
import java.util.Scanner;
public class Swich {
public static void main(String[] args) {
int y = 2022;
int m = 2;
int days = switch (m) {
case 2 -> {
yield LocalDate.of(y, m, 1).isLeapYear() ? 29 : 28;
}
case 4, 6, 9, 11 -> 30;
default -> 31;
};
System.out.printf("%d年%d月有%d天", y, m, days);
}
}

低端写法
int y = 2021;
int m = 4;
int days = switch (m) {
case 2 -> y % 400 == 0 || y % 4 == 0 && y % 100 != 0 ? 29 : 28;
case 4, 6, 9, 11 -> 30;
default -> 31;
};
System.out.printf("%d年%d月有%d天", y, m, days);

这篇博客展示了如何使用Java的switch语句来根据年份和月份计算每个月的天数。代码中考虑了闰年的情况,并分别处理了二月和其他月份的天数。两种不同的写法被展示,一种利用了LocalDate的isLeapYear方法,另一种通过条件判断直接计算。
752

被折叠的 条评论
为什么被折叠?



