gpt4 book ai didi

java - 用Java计算当前日期和出生日期的年龄

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:56 25 4
gpt4 key购买 nike

我刚开始使用 Java,我正在制作一个程序,根据年龄和性别确定一个人的汽车租赁费率。此方法根据当前日期和出生日期计算此人的年龄。它有点工作,但边界情况存在问题(例如,有时它会说你 25 岁,而你 24 岁)。我怎样才能修复它以使其返回确切的年龄而不是说你有时大 1 岁? (请不要 Joda,我不能在这个作业中使用它)

public static int calcAge(int curMonth, int curDay, int curYear,int birthMonth,int   birthDay,int birthYear) {

int yearDif = curYear - birthYear;
int age = 08;
if(curMonth < birthMonth) {
age = yearDif - 1;
}
if(curMonth == birthMonth) {
if(curDay < birthDay) {
age = yearDif - 1;
}
if(curDay > birthDay) {
age = yearDif;
}
}
if(curMonth > birthMonth) {
age = yearDif;
}

return age;
}

最佳答案

如果你会用Java 8,比joda好多了:

    LocalDate birthday = LocalDate.of(1982, 01, 29);
long yearsDelta = birthday.until(LocalDate.now(), ChronoUnit.YEARS);
System.out.println("yearsDelta = " + yearsDelta);

关于java - 用Java计算当前日期和出生日期的年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com