我正在尝试创建一个程序,找出他们活了多少个月,但一直遇到一些问题。到目前为止,这是我的功能:
int getResult(int year, month, day, endResult)
{
int thisYear, thisMonth, thisDay;
year = thisYear - year;
year *= 12;
}
我想要完成的工作会显示如下输出:
Output:
What year were you born?
1989
What month were you born?
5
What day were you born?
23
You are x months old.
我将继续几个月,但后来我意识到,如果他们出生的月份是在本月之后或之前出现的?所以,如果有人有任何关于如何计算的提示,我会很感激。
答案 0 :(得分:3)
我们来看看。首先,我们现在说:
year_now and month_now
你的生日是:
year_birth and month_birth
现在,我们逐个讨论:
month_now == month_birth
:正如您已经计算过:
months_old = (year_now-year_birth)*12
month_now > month_birth
:很容易,你有:
months_old = (year_now-year_birth)*12 + (month_now-month_birth)
month_now < month_birth
:在这种情况下,(year_now-year_birth)*12
会为您提供更多月份,然后您必须减去:
months_old = (year_now-year_birth)*12 - (month_birth-month_now)
现在,如果你仔细观察,你会发现它们实际上都是相同的公式:
months_old = (year_now-year_birth)*12 + (month_now-month_birth)
(在第三种情况下,month_now-month_birth
是否定的)
答案 1 :(得分:0)
months = (thisyear-years)*12+(thisMonth-months)
if(months < 0)
System.out.println("Invalid info")
else{
//DO YOUR THANG BRO
}