帮我用JAVA写编程,要求如下:从键盘输入某年某月某日(格式为8位数,前4位为年份,接着的两位为月份,最后两位为日,如:20200506),判断这一天是这一年的第几天并输出。
时间: 2023-09-22 17:06:35 浏览: 129
好的,以下是JAVA代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入日期(格式为8位数,如20200506):");
String inputDate = scanner.nextLine();
int year = Integer.parseInt(inputDate.substring(0, 4));
int month = Integer.parseInt(inputDate.substring(4, 6));
int day = Integer.parseInt(inputDate.substring(6, 8));
int days = 0;
for (int i = 1; i < month; i++) {
if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days += 29;
} else {
days += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
days += 30;
} else {
days += 31;
}
}
days += day;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if (month > 2) {
days += 1;
}
}
System.out.println(year + "年" + month + "月" + day + "日是本年的第" + days + "天。");
}
}
```
代码说明:
1. 通过 `Scanner` 类从键盘输入日期,然后使用 `substring` 方法将年、月、日分别提取出来转换为整数。
2. 使用一个循环计算出输入日期之前的所有天数,其中需要判断闰年和平年的2月份天数不同的情况。
3. 最后将输入日期的天数加上之前计算出来的天数即为该日期是本年的第几天。如果输入日期在闰年的2月份之后,则还需要再加上1天。
4. 将计算结果输出即可。
希望能够帮到你!
阅读全文