看板 java 關於我們 聯絡資訊
小弟是 Java 新手,如果問了蠢問題還請見諒 我寫個一個程式,可以由命令列輸入年/月來查詢該月有幾天 雖然說已經成功地將參數值傳入了 但是其中的 switch 卻好像毫無反應 還要請教各位,到底是發生什麼問題了 =============================程式碼============================== import java.lang.Integer; public class SwitchDemo2_1 { public static void main(String[] args) { int month = Integer.parseInt(args[1]); int year = Integer.parseInt(args[0]); int numDays = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: numDays = 31; break; case 4: case 6: case 9: case 11: numDays = 30; break; case 2: if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)) numDays = 29; else numDays = 28; break; } System.out.println("Number of Days = " + numDays); }} -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.112.217
PsMonkey:隱性違反版規 5。是不管輸入什麼都沒反應還是怎樣? 12/23 20:47
SlashedAxl:是正常的執行,輸出 Number of Days = 0,也就是預設值 12/23 20:59
SlashedAxl:可是 month 和 year 都有值,不知道為什麼沒有進switch 12/23 21:01
johnhao1206:我用你的程式碼跑沒這問題耶 12/23 21:15
SlashedAxl:好像是我的 JVM 壞掉,因為換一台電腦就好了,謝謝喔! 12/23 21:29
PsMonkey:我倒是猜測你 java Foo 的時候值沒有給好... 12/23 21:43
PsMonkey:加個 default 避免這種可能,也算是 switch 的良好習慣 12/23 21:44
SlashedAxl:ok 受教了 12/23 22:32