给我用Java写一个用生日计算年龄的代码
时间: 2023-08-31 13:38:20 浏览: 125
Java根据生日计算年龄算法
### 回答1:
```Java
import java.time.LocalDate;
import java.time.Period;
public class AgeCalculator {
public static void main(String[] args) {
LocalDate birthdate = LocalDate.of(1995, 8, 23);
LocalDate now = LocalDate.now();
Period period = Period.between(birthdate, now);
System.out.printf("年龄是: %d 岁 %d 月 %d 天",
period.getYears(), period.getMonths(), period.getDays());
}
}
```
这是一个使用Java 8的时间库来计算年龄的代码。它使用LocalDate类存储生日,使用Period类计算生日和当前日期之间的时间差。在这个例子中,生日设置为1995年8月23日。你可以替换为你自己的生日。
### 回答2:
可以使用Java编写一个计算年龄的代码,以下是一个示例:
```java
import java.time.LocalDate;
import java.time.Period;
import java.util.Scanner;
public class CalculateAge {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入出生日期(格式:yyyy-MM-dd):");
String birthdayString = scanner.nextLine();
LocalDate birthday = LocalDate.parse(birthdayString);
LocalDate today = LocalDate.now();
Period period = Period.between(birthday, today);
int age = period.getYears();
System.out.println("您的年龄是:" + age + "岁");
}
}
```
这段代码使用Java 8中引入的`java.time.LocalDate`类来处理日期。用户需要在控制台上输入出生日期,代码会将其解析为`LocalDate`对象。然后使用`LocalDate.now()`获取当前日期,通过`Period.between()`方法计算两个日期之间的差距,得到一个`Period`对象,其中包含了年龄信息。
最后,我们通过`period.getYears()`方法获取年龄,并将其打印出来。
### 回答3:
用Java编写一个计算年龄的代码如下:
```java
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class AgeCalculator {
public static void main(String[] args) {
String birthday = "1990-12-31"; // 输入生日日期,格式为yyyy-MM-dd
LocalDate birthDate = LocalDate.parse(birthday, DateTimeFormatter.ISO_LOCAL_DATE);
LocalDate currentDate = LocalDate.now();
Period period = Period.between(birthDate, currentDate);
int age = period.getYears(); // 获取年龄
System.out.println("年龄:" + age);
}
}
```
以上代码通过使用Java 8引入的LocalDate和Period类来计算年龄。首先需要输入生日的日期字符串,然后使用DateTimeFormatter将其转换为LocalDate对象。接下来,通过调用LocalDate.now()方法获取当前日期。然后通过调用Period.between()方法将生日日期和当前日期作为参数来计算两个日期之间的差距,即年龄。最后将年龄输出到控制台。
以上代码假设生日日期输入的格式为"yyyy-MM-dd",如需适应其他格式,可以相应地修改DateTimeFormatter。
阅读全文