嗨我是相當新的Java,我正在處理作爲日曆工作的代碼。我以爲我已經完成了它,但日子似乎仍然是31,而不是根據if/else語句改變。這裏是代碼:爲什麼我的int值不會改變?
public int maxDaysInMonth(int year, int month)
{
boolean A = (year % 4 == 0) || ((year%4==0) && (year % 100 != 0));
int days = 0;
int iMonth = 0;
if(iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11)
{
days = 30;
}
else if (iMonth == 1 || iMonth == 3 || iMonth == 5 || iMonth == 7 || iMonth == 8 || iMonth == 10 || iMonth == 12)
{
days = 31;
}
if (A == true && iMonth == 2)
{
days = 29;
}
else if (A == false && iMonth == 2)
{
days = 28;
}
return days;
}
任何幫助非常感謝!
你缺少'iMonth = month'任務 –
或者只是消除'iMonth'並使用'month'來代替。 –
這是一個非常好的機會,可以熟悉使用調試器。使用Java調試器,您可以在執行時逐行執行代碼,並觀察運行時值和行爲。這將允許您確定您的邏輯是否按預期工作,並具體找到它所做的事情。發生這種情況時可以看到運行時間值。哪些信息可供您用來診斷問題以及我們如何幫助您。 – David