以年月日的形式输出某人的出生日期,计算这个人的年龄,scanner输入,Calendar获取当前
时间: 2024-12-24 09:37:25 浏览: 22
在中国的日期格式下,如果你想要用户通过`Scanner`输入他们的出生日期,并计算其年龄,可以按照以下步骤进行:
1. 首先,导入必要的库:
```java
import java.util.Scanner;
import java.time.LocalDate;
import java.time.Period;
import java.util.Calendar;
```
2. 创建一个`Scanner`实例以接收用户的输入:
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的出生年份:");
int birthYear = scanner.nextInt();
System.out.println("请输入您的出生月份(1-12):");
int birthMonth = scanner.nextInt();
System.out.println("请输入您的出生日期(1-31):");
int birthDay = scanner.nextInt();
```
3. 使用`LocalDate`创建出生日期并计算年龄:
```java
// 创建一个Calendar实例来获取当前日期
Calendar currentDateCalendar = Calendar.getInstance();
int currentYear = currentDateCalendar.get(Calendar.YEAR);
// 将扫描到的数据转换为LocalDate
LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
// 计算年龄
Period age = Period.between(birthDate, LocalDate.now());
int ageInYears = age.getYears(); // 年龄
// 输出结果
System.out.printf("您的年龄是:%d岁\n", ageInYears);
```
4. 当完成所有操作后,别忘了关闭`Scanner`:
```java
scanner.close();
```
阅读全文