2080:Calendar

keyword

カレンダー Java

概要

2000年1月1日からの経過日数nが与えられたとき、年数、日付、曜日を答える問題。
閏年の計算方法などは与えられるので算数の問題として扱ってもいいけれど、せっかくJavaに良い機能があるのだからそれを使った。

import java.util.*;

class Main {

	public static String weeks[] = {"none", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

	public static void main(String args[]){
		Scanner in = new Scanner(System.in);
		for(;;){
			int n = in.nextInt();
			if(n==-1) break;
			GregorianCalendar cal = new GregorianCalendar(2000, GregorianCalendar.JANUARY, 1+n);
			System.out.printf("%d-%02d-%02d %s\n",cal.get(Calendar.YEAR),cal.get(Calendar.MONTH)+1,
					cal.get(Calendar.DAY_OF_MONTH),weeks[cal.get(Calendar.DAY_OF_WEEK)]);
		}
	}

}