問題描述: |
問題描述 給定一個年份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);
}
}