java编写输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。
时间: 2024-05-11 21:14:31 浏览: 140
下面是一个Java程序,实现输入年份和月份,输出该月份有多少天的功能。其中使用了Java中的Calendar类来判断闰年和每月的天数。
```java
import java.util.*;
public class DaysInMonth {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter year (e.g. 2021): ");
int year = input.nextInt();
System.out.print("Enter month (1-12): ");
int month = input.nextInt();
int days = 0;
if (month == 2) {
if (isLeapYear(year)) {
days = 29;
} else {
days = 28;
}
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
days = 31;
}
System.out.println("There are " + days + " days in month " + month + " of year " + year);
}
public static boolean isLeapYear(int year) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
return cal.getActualMaximum(Calendar.DAY_OF_YEAR) > 365;
}
}
```
该程序先提示用户输入年份和月份,然后通过判断月份来确定该月份的天数。对于2月份需要调用isLeapYear函数来判断是否为闰年,如果是闰年则该月份有29天,否则有28天。对于其他月份,根据常识可以得知4、6、9、11月份有30天,其他月份有31天。最后输出该月份的天数。
isLeapYear函数使用了Java中的Calendar类,将年份设置到Calendar对象中,然后调用getActualMaximum方法获取该年的实际天数,如果大于365则为闰年。
阅读全文