更好的年龄近似计算器

时间:2017-05-05 01:00:35

标签: java

我需要使用以下方法计算一个人的年龄:birthYear,curYear,birthMonth和curMonth。

我的代码如下,但在junit中没有解决

    public int getApproxAge2(int birthYear, int curYear, int birthMonth, int curMonth)
{
    if (curMonth >= birthMonth)
    {
        return curYear - birthYear;
    }
    else 
    {
        return curYear - (birthYear-1);
    }

}

1 个答案:

答案 0 :(得分:0)

return (curYear - birthYear - 1) > 0 ? (curYear - birthYear - 1) : 0;

如果curYear和birthYear相同,这将确保您不会出现负年龄。

而不是return curYear - (birthYear-1);

说,你在10月份过生日,当月是5月,那么逻辑应该是你没有达到你的出生月份。
因此,你比当年和你出生年份之间的差距少一年。