java输入某年某月某日,判断这一天是这一年的第几天?
时间: 2023-09-26 07:09:36 浏览: 142
可以使用Java中的Calendar类来实现这个功能。具体步骤如下:
1. 通过Scanner类获取输入的年月日。
2. 使用Calendar类创建一个Calendar对象。
3. 将输入的年月日设为Calendar对象的日期。
4. 使用Calendar对象获取这一年的第一天并将其设为日期。
5. 使用Calendar对象计算输入日期与这一年第一天之间的天数差。
6. 将天数差加1,即为输入日期在这一年的第几天。
代码如下所示:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
int month = scanner.nextInt();
int day = scanner.nextInt();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day);
Calendar firstDayOfYear = Calendar.getInstance();
firstDayOfYear.set(Calendar.YEAR, year);
firstDayOfYear.set(Calendar.MONTH, 0);
firstDayOfYear.set(Calendar.DAY_OF_MONTH, 1);
long diffInMilliSec = calendar.getTimeInMillis() - firstDayOfYear.getTimeInMillis();
long diffInDays = diffInMilliSec / (24 * 60 * 60 * 1000);
System.out.println(diffInDays + 1);
}
}
```
注意:这个代码中使用了long类型来存储天数差,因为int类型的范围不够。
阅读全文