输入年份和月份,输出该月份的天数。本题要求必须使用switch实现
时间: 2024-11-17 11:29:32 浏览: 21
在使用switch语句实现这个功能时,首先需要根据输入的月份来判断闰年和平年的不同天数。对于非闰年的每个月份,我们可以直接给出固定的天数;而对于闰年,二月有29天,其他的月份则保持不变。下面是一个基本的示例,假设输入的年份已经检查过是否为闰年:
```java
public int getDaysInMonth(int year, int month) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: // 非闰年和闰年的这些月份都是31天
return 31;
case 4:
case 6:
case 9:
case 11: // 非闰年和闰年的这些月份都是30天
return 30;
case 2: // 闰年中的特殊处理
if (isLeapYear(year)) { // 判断是否为闰年
return 29;
} else {
return 28; // 非闰年的二月只有28天
}
default:
throw new IllegalArgumentException("Invalid month value");
}
}
private boolean isLeapYear(int year) {
// 实现闰年的判断逻辑,通常规则是能被4整除但不能被100整除的年份是闰年,除非它也能被400整除
// 这里省略具体的计算代码
// ...
}
// 示例使用
int days = getDaysInMonth(2024, 2); // 输入年份2024和二月,返回29
```
阅读全文