用Java实现先输入一个年份,再输入一个1到365/366的天数,输出这一天所在的月份及当月日期,m月d号。注意处理闰年。
时间: 2024-03-23 13:42:04 浏览: 94
好的,以下是Java代码实现输入一个年份和天数,输出这一天所在的月份及当月日期:
```
import java.util.Scanner;
public class MonthAndDay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入年份
System.out.print("请输入年份:");
int year = scanner.nextInt();
// 输入天数
System.out.print("请输入天数(1到365/366):");
int dayOfYear = scanner.nextInt();
// 判断是否为闰年
boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
// 计算月份和日期
int[] daysInMonth = {31, isLeapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int month = 1;
while (dayOfYear > daysInMonth[month - 1]) {
dayOfYear -= daysInMonth[month - 1];
month++;
}
// 输出结果
System.out.println("这一天所在的月份为" + month + "月,当月日期为" + dayOfYear + "号。");
}
}
```
以上代码中,我们使用Scanner类接收用户输入的年份和天数,然后根据是否为闰年计算出每个月的天数。接着使用循环找到这一天所在的月份,并计算出当月日期。最后输出结果。
希望这个代码可以帮到您!
阅读全文