编写程序完成输入年份和月份,计算该月份的天数(注意闰年)。(要求要有闰年及非闰年的测试用例java)
时间: 2024-10-19 07:12:20 浏览: 45
编写一个Java程序来计算给定月份的天数,包括处理闰年的情况,你可以使用`java.util.Calendar`类,它提供了对日期和时间的管理功能。以下是简单的代码示例:
```java
import java.util.Calendar;
public class MonthDaysCalculator {
public static void main(String[] args) {
// 测试用例一:非闰年,2月(28天)
calculateMonthDays(2021, Calendar.FEBRUARY);
// 测试用例二:闰年,2月(29天)
calculateMonthDays(2020, Calendar.FEBRUARY);
// 测试用例三:闰年,4月(30天)
calculateMonthDays(2020, Calendar.APRIL);
}
public static int calculateMonthDays(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1); // 减1是因为月份从0开始计数,所以二月对应的是Calendar.JANUARY
if (isLeapYear(year)) { // 判断是否为闰年
calendar.add(Calendar.MONTH, 1); // 提前一个月到下个月第一天,如果之前是2月,则会自动加一天,即判断是否为闰年
}
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
```
在这个程序中,`calculateMonthDays`函数接收年份和月份作为参数,然后通过`Calendar`类获取指定月份的第一天,并根据是否是闰年调整。如果是闰年,会先将当前月份加1然后再获取实际最大天数;如果不是闰年,直接获取原月份的最大天数即可。
运行这个程序,你会看到不同情况下的天数结果。关于`
阅读全文