CCF201509 日期計算(JAVA)
阿新 • • 發佈:2018-11-23
問題描述: | 問題描述 給定一個年份y和一個整數d,問這一年的第d天是幾月幾日? 輸入格式 輸入的第一行包含一個整數y,表示年份,年份在1900到2015之間(包含1900和2015)。 輸出格式 輸出兩行,每行一個整數,分別表示答案的月份和日期。 樣例輸入 2015 樣例輸出 3 樣例輸入 2000 樣例輸出 2 |
package dateCount; import java.util.Scanner; public class Main { @SuppressWarnings("resource") public static void main(String[] args) { // TODO Auto-generated method stub int[] dm1 = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 平年12月日曆 int[] dm2 = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 閏年12月日曆 Scanner sc = new Scanner(System.in); int y = sc.nextInt();// 第幾年 int d = sc.nextInt();// 第幾日 int m = 1;// 記錄月份 int[] dm;// 12月日曆陣列 if ((y % 100 != 0 && y % 4 == 0) || (y % 400 == 0))// 判斷是否為閏年,若為閏年則採用閏年日曆 { dm = dm2; } else // 否則採用平年日曆 dm = dm1; for (; d > dm[m - 1]; m++)// 月份判斷 { d = d - dm[m - 1]; } System.out.println(m); System.out.println(d); } }