用java编写一个程序,用户输入出生日期和当前日期,计算出实际年龄。
时间: 2024-09-12 19:04:55 浏览: 182
在Java中,你可以通过`java.time.LocalDate`类来获取和处理日期信息,下面是一个简单的程序示例:
```java
import java.time.LocalDate;
import java.time.Period;
import java.util.Scanner;
public class AgeCalculator {
public static void main(String[] args) {
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();
LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
LocalDate currentDate = LocalDate.now(); // 当前日期
// 计算年龄
Period agePeriod = Period.between(birthDate, currentDate);
int ageInYears = agePeriod.getYears();
int ageInMonths = agePeriod.getMonths() + (agePeriod.getDays() > 0 ? 1 : 0); // 考虑天数部分
System.out.printf("您的实际年龄是 %d 年, %d 个月.", ageInYears, ageInMonths);
scanner.close();
}
}
```
在这个程序中,我们首先获取用户的出生年、月、日,然后创建`LocalDate`对象表示出生日期和当前日期。接着,使用`Period.between()`方法计算两个日期之间的差异,并将结果转换成整年的岁数和月数。
阅读全文