使用 if 判斷式與switch敘述來實現
原本是只要使用 switch 敘述並且列出十二個月份要顯示的文字即可
但是這樣程式碼太長了
於是就想到先用 if 判斷式先收斂月份
並用一個內層 if 判斷式來判斷月份的季節
之後再用 switch 敘述來決定要顯示的文字
這個做法是用 AND 與 OR 這兩個邏輯運算子做月份季節的判斷
剩下的請參考程式碼內的註解
以下為程式範例
String str; BufferedReader buf; int month,season=0; // 月份與季節 buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("請輸入月份: "); str=buf.readLine(); month=Integer.parseInt(str); // 收斂輸入數字,將其限制在1~12 if(month<=12 && month>=1){ // 第一個if不使用AND邏輯運算子,因為冬天是12、1、2月 // 並無連續,使用AND會造成其中一邊不成立 // 有鑑於已經透過外層if判斷式將月份收斂 // 因此改用OR邏輯運算子解決這個問題 if(month<=2 || month==12) season=1; if(month>=3 && month<=5) season=2; if(month>=6 && month<=8) season=3; if(month>=9 && month<=11) season=4; switch(season){ case 1: System.out.println("冬天"); break; case 2: System.out.println("春天"); break; case 3: System.out.println("夏天"); break; case 4: System.out.println("秋天"); break; } }else{ System.out.println("月份不存在"); }
沒有留言:
張貼留言