程式設計: 輸入某年某月某日,判斷這一天是這一年的第幾天?
阿新 • • 發佈:2019-01-08
沒有用函式做,定義了一個數組,裝每個月的月份天數。明天把改成函式在重做一遍,可以不用陣列 import java.util.Scanner; public class Which_day { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); int year, month, day; int dayMonth[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 月份的天數 int dayOfMonth = 0; // 月份的總天數和 int dayCount = 0; // 總天數 boolean yea = false; // 輸入年的 布林型 boolean mon = false; // 輸入月的 布林型 boolean da = false; // 輸入日的 布林型 do { System.out.println("請輸入年"); year = input.nextInt(); if (year < 1) { System.err.println("輸入年份格式錯誤,請重新輸入"); } else { yea = true; } } while (yea == false); do { System.out.println("請輸入月"); month = input.nextInt(); if (month >= 1 && month <= 12) { if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) { dayMonth[1] = 29; } else { dayMonth[1] = 28; } mon = true; } else { System.err.println("輸入月份格式錯誤,請重新輸入"); } } while (mon == false); do { System.out.println("請輸入日"); day = input.nextInt(); if (day >= 1 && day <= 31) { da = true; } else { System.err.println("輸入日格式錯誤,請重新輸入"); } } while (da == false); for (int i = 0; i < month-1; i++) { dayOfMonth += dayMonth[i]; } dayCount = dayOfMonth + day; System.out.println(year + "年" + month + "月" + day + "日" + "是這一年的第" + dayCount + "天"); } }