我需要使用以下方法计算一个人的年龄: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);
}
}
答案 0 :(得分:0)
return (curYear - birthYear - 1) > 0 ? (curYear - birthYear - 1) : 0;
如果curYear和birthYear相同,这将确保您不会出现负年龄。
而不是return curYear - (birthYear-1);
说,你在10月份过生日,当月是5月,那么逻辑应该是你没有达到你的出生月份。
因此,你比当年和你出生年份之间的差距少一年。