使用switch-case结构实现给定年份year,月份month,编程计算当前month月有几天?
时间: 2024-10-22 09:18:30 浏览: 23
在编程中,特别是使用某些语言如C、C++、Java等,你可以通过`switch-case`结构来根据不同月份确定每个月的天数。这是一个常见的日期处理示例,因为月份的天数并不是固定的,比如平年的二月只有28天,闰年的二月则有29天。以下是基本的思路:
```java
int daysInMonth = 0;
switch (month) {
case 1: // January
daysInMonth = 31;
break;
case 2: // February
if (isLeapYear(year)) { // 判断是否为闰年
daysInMonth = 29;
} else {
daysInMonth = 28;
}
break;
case 3: // March
daysInMonth = 31;
break;
case 4: // April
daysInMonth = 30;
break;
case 5: // May
daysInMonth = 31;
break;
case 6: // June
daysInMonth = 30;
break;
case 7: // July
daysInMonth = 31;
break;
case 8: // August
daysInMonth = 31;
break;
case 9: // September
daysInMonth = 30;
break;
case 10: // October
daysInMonth = 31;
break;
case 11: // November
daysInMonth = 30;
break;
case 12: // December
daysInMonth = 31;
break;
default:
throw new IllegalArgumentException("Invalid month");
}
// 判断是否为闰年的简单实现(假设公历年份能被4整除即为闰年)
boolean isLeapYear(int year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}
```
阅读全文