用Java编程计算某年某月有几天。其中判别闰年的条件是: 能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。(要求年月值是通过输入产生)。
时间: 2024-09-20 21:06:27 浏览: 39
在Java中,计算某个年份某个月份天数的常见做法是使用`java.util.Calendar`类。下面是一个简单的程序示例,它会提示用户输入年份和月份,然后根据给定的规则判断是否为闰年并计算该月天数:
```java
import java.util.Calendar;
import java.util.Scanner;
public class MonthDaysCalculator {
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();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1); // 减一是因为月份从0开始计数
// 判别闰年
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
if (isLeapYear) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("这个月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("这个月有30天");
break;
default:
System.out.println("错误的月份");
}
} else {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("这个月有30天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("这个月有31天");
break;
case 2: // 闰年的二月有29天
System.out.println("这个月有29天");
break;
default:
System.out.println("错误的月份");
}
}
scanner.close();
}
}
```
阅读全文