输入一个年份和月份, 判断该年的这个月有多少天?提示: 判断闰年的条件(1) 年份能被4整除, 但不能被100整除;(2) 年份能够被400 整除; java编程代码
时间: 2024-09-30 21:06:27 浏览: 47
在Java中,你可以创建一个函数来判断指定的年份和月份有多少天。这里我们使用if-else结构和switch语句来处理闰年和平年的情况:
```java
public class MonthDaysCalculator {
public static void main(String[] args) {
int year = 2023; // 输入年份
int month = 2; // 输入月份
int daysInMonth = getDaysInMonth(year, month);
System.out.println("年份 " + year + " 的 " + month + " 月有 " + daysInMonth + " 天");
}
public static int getDaysInMonth(int year, int month) {
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:
// 除了二月外,其余非闰年的四月、六月、九月和十一月都是30天
if (!isLeapYear(year)) {
return 30;
} else {
// 如果是闰年,二月有29天
return 29;
}
case 2:
// 特殊处理闰年和平年的情况
if (isLeapYear(year)) {
return 29;
} else {
return 28;
}
default:
throw new IllegalArgumentException("无效的月份");
}
}
// 判断是否是闰年
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
```
在这个例子中,`getDaysInMonth`函数根据月份返回相应天数,而`isLeapYear`函数则用于检查年份是否为闰年。主函数展示了如何使用这两个辅助函数。
阅读全文