我將盡我所能清楚地說出我的問題,如果我對我的問題沒有意義,我很抱歉,我對java仍然很陌生(幾個星期到我的第一個Java類)。if,else if和else聲明? java
我的作業的一部分是: 「修改發票類中的構造函數,所以根據月份不同,這一天不會大於31,30或28,如果月份是無效的, 0,也迫使一天到0。「
所以在我原來的計劃我有這個作爲我的月份和日期的方法:
public void setMonth(int month) {
if(month < 1 || month > 12) //if month is less than 1 and greater than 12 force number to 0
this.month = 0;
else
this.month = month;
}
public void setDay(int day) {
if(day < 1 || day > 31) //if day is less than 1 and greater than 31 force to 0
this.day = 0;
else
this.day = day;
}
所以,我想在我的困惑是,是我應該使用「否則,如果」以確保天不大於31,30或28取決於月份? (?還有,我不知道,如果「否則,如果」中的Java支持C++是我最瞭解)
像:
else if(month = 2 && day > 28)
this.day = 0;
(我知道這個代碼不正確,它有一個錯誤當我打字時)。您認爲根據月份確定一天不會超過31,30或28的最佳方式是什麼?
如果其他如果在Java中支持,就像C++一樣。但是,要小心'if(1)'不起作用 – Sweeper
如果可以使用else,但效率不高。改用java日曆並使用它。 –
1.其他if支持java。 2.在你分享的代碼中:else if(month = 2 && day> 28),month得到一個值,注意這個編程錯誤是我們通常面對的,因爲在這裏,你試圖做一個比較,不是任務。 –