switch case 求輸入年月日,輸出該天為該年的第幾天

package ms;import java。util。Scanner;public class YearDay {}/*從鍵盤輸入年月日,判斷這一天是一年中的第幾天?小知識點: 判斷年份為閏年的條件: 可以被4整除,但不能被100整除 或 可以被400整除。*/class YearDay1{ public static void main(String[] args){ Scanner scan = new Scanner(System。in); System。out。println(“請輸入年:”); int year = scan。nextInt(); System。out。println(“請輸入月:”); int month = scan。nextInt(); System。out。println(“請輸入日:”); int day = scan。nextInt(); int sumDays = countDays(year, month, day); System。out。println(year + “年” + month + “月” + day + “日是當年的第” + sumDays + “天”); } private static int countDays(int year, int month, int day){ int sumDays = 0;// 當變數的值與 case 語句的值相等時,那麼 case 語句之後的語句開始執行,直到 break 語句出現才會跳出 switch 語句。//// 當遇到 break 語句時,switch 語句終止。程式跳轉到 switch 語句後面的語句執行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現,程式會繼續執行下一條 case 語句,直到出現 break 語句。 switch(month){ case 12: sumDays += 30;//11月的總天數30 case 11: sumDays += 31;//10月的總天數31 case 10: sumDays += 30;//9月的總天數30 case 9: sumDays += 31;//8月的總天數31 case 8: sumDays += 31;//7月的總天數31 case 7: sumDays += 30;//6月的總天數30 case 6: sumDays += 31;//5月的總天數31 case 5: sumDays += 30;//4月的總天數30 case 4: sumDays += 31;//3月的總天數31 case 3: if ((year % 4 ==0 && year % 100 !=0) || year % 400 ==0){ sumDays += 29;//閏年2月的總天數29 }else{ sumDays += 28;//非閏年2月的總天數28 } case 2: sumDays += 31;//1月的總天數31 case 1: sumDays += day;//當月的天數 } return sumDays; }}

switch case 求輸入年月日,輸出該天為該年的第幾天