Java编写程序:根据用户输入的月份(1-12)和日期,判断该日期是一年中的第几天。
时间: 2024-10-01 20:04:01 浏览: 20
学习Java中的日期和时间处理及Java日历小程序的编写
在Java中,可以根据用户输入的月份和日期来计算一年中的天数,这通常涉及到闰年的处理。以下是一个简单的算法:
```java
import java.util.Scanner;
public class DayOfYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份 (1-12): ");
int month = scanner.nextInt();
System.out.println("请输入日期: ");
int day = scanner.nextInt();
// 检查是否为闰年
boolean isLeapYear = false;
if ((month == 2 && day > 28) || (month > 2 && day > 31)) {
System.out.println("无效的日期");
return;
} else if (month == 2) {
if (day == 29) {
isLeapYear = true;
}
} else if (month % 4 == 0) {
if (month % 100 != 0 || month % 400 == 0) {
isLeapYear = true;
}
}
// 计算一年中的天数
int daysInMonth[] = {31, isLeapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int totalDays = daysInMonth[month - 1] + day;
// 考虑二月的特殊情况(闰年)
if (isLeapYear && month == 2) {
totalDays -= 1; // 从29日减去1天
}
System.out.printf("日期 %d/%d 是一年中的第%d天.", month, day, totalDays);
阅读全文