编程java计算某年某月有几天。其中判别闰年的条件是: 能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。(要求年月值是通过输入产生)。
时间: 2024-09-17 09:06:00 浏览: 86
在Java中,你可以创建一个方法来计算给定年份和月份的天数。这里是一个简单的示例,利用了闰年的规则:
```java
import java.util.Scanner;
public class LeapYearDays {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份(1-12):");
int month = scanner.nextInt();
int daysInMonth = getDaysInMonth(year, month);
System.out.printf("年%04d月%d日共有 %d 天%n", year, month, daysInMonth);
}
// 计算指定年份和月份的天数
public static int getDaysInMonth(int year, int month) {
if (month < 1 || month > 12) {
throw new IllegalArgumentException("月份应为1到12之间的整数");
}
switch (month) {
case 2: // February is a bit special due to leap years
return isLeapYear(year) ? 29 : 28;
case 4:
case 6:
case 9:
case 11: // These months have 30 days
return 30;
default: // All other months with 31 days
return 31;
}
}
// 判断是否为闰年
public static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
}
```
在这个程序中,我们首先获取用户输入的年份和月份,然后调用`getDaysInMonth`方法来计算具体的天数。`isLeapYear`方法用于检查是否为闰年。用户输入验证也包含其中。
阅读全文