java根据给定的年、月,输出该月的天数。(使用switch语句实现)
时间: 2024-09-26 22:18:55 浏览: 75
输出每个月的天数C语言PTA
在Java中,你可以使用`java.time`包下的`MonthDay`类来获取一个月的天数,然后结合`switch`语句根据不同的月份来计算。下面是一个简单的示例,说明如何通过`MonthDay`和`switch`实现:
```java
import java.time.Month;
public class MonthDays {
public static void main(String[] args) {
int year = 2023; // 输入的年份
int month = 2; // 输入的月份
// 创建MonthDay对象并获取该月的天数
MonthDay monthDay = MonthDay.of(year, month);
int daysInMonth = monthDay.lengthOfMonth();
// 使用switch语句输出天数
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.printf("年%d月%d的天数是%d天。\n", year, month, daysInMonth);
break;
case 4:
case 6:
case 9:
case 11:
System.out.printf("年%d月%d的天数也是%d天。\n", year, month, daysInMonth);
break;
default:
if (month == 2 && isLeapYear(year)) { // 检查是否是闰年
System.out.printf("年%d是闰年,所以2月有%d天。\n", year, daysInMonth);
} else {
System.out.printf("年%d不是闰年,2月有%d天。\n", year, daysInMonth);
}
break;
}
// 判断是否为闰年的辅助函数
private boolean isLeapYear(int year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}
}
}
```
在这个例子中,我们首先创建了一个`MonthDay`实例,然后根据月份的不同情况使用`switch`语句输出对应的天数。特别注意的是,对于二月,如果输入的年份是闰年,则会有29天。
阅读全文