输入一个年度和月份,输出这个月份所包含的天数。(要求用 switch 语句来实现)。
时间: 2024-12-17 17:37:56 浏览: 4
在使用 `switch` 语句来实现这个功能时,首先需要检查输入的年份是否是闰年,因为平年的二月有28天,而闰年的二月有29天。然后根据月份来确定每个月的具体天数。以下是用 Java 编程语言的一个示例:
```java
public class MonthDaysCalculator {
public static void main(String[] args) {
int year = 2023; // 年份
int month = 2; // 月份 (1代表一月,2代表二月...)
if (isLeapYear(year)) {
System.out.println(getDaysInMonth(month, true)); // 如果是闰年
} else {
System.out.println(getDaysInMonth(month, false)); // 如果不是闰年
}
}
// 判断是否是闰年
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 根据年份和闰年与否计算月份天数
private static int getDaysInMonth(int month, boolean isLeapYear) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return isLeapYear ? 30 : 31;
case 2:
return isLeapYear ? 29 : 28;
default:
throw new IllegalArgumentException("Invalid month number");
}
}
}
```
在这个例子中,`getDaysInMonth` 方法会根据传入的月份和是否为闰年,使用 `switch` 语句返回相应的天数。注意,对于非标准的月份,我们通常处理一月、三月、五月、七月、八月、十月和十二月为31天,四月、六月、九月和十一月为30天,而二月则根据闰年调整。
阅读全文