用Java实现先输入一个年份,再输入日期m月d号,输出这一天是这一年的第几天,1到365/366。注意处理闰年。
时间: 2024-03-23 12:42:02 浏览: 90
好的,以下是Java代码实现输入一个年份和日期,输出这一天是这一年的第几天:
```
import java.util.Scanner;
public class DayOfYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入年份
System.out.print("请输入年份:");
int year = scanner.nextInt();
// 输入日期
System.out.print("请输入日期(格式为m月d号):");
String date = scanner.next();
// 解析日期
String[] parts = date.split("月");
int month = Integer.parseInt(parts[0]);
int day = Integer.parseInt(parts[1].replace("号", ""));
// 计算天数
int[] daysInMonth = {31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
for (int i = 0; i < month - 1; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += day;
// 输出结果
System.out.println("这一天是这一年的第" + dayOfYear + "天。");
}
// 判断是否为闰年
private static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
}
```
以上代码中,我们使用Scanner类接收用户输入的年份和日期,然后使用String的split方法解析日期中的月份和日期。接着根据输入的年份和是否为闰年计算出每个月的天数,累加得到这一天是这一年的第几天。最后输出结果。
希望这个代码可以帮到您!
阅读全文