題目描述

Calendar類別是一個抽象類別,提供了多種方法用來進行日期與時間的表示以及運算。



您將會得到一個日期,您的任務是要找出這個日期是星期幾。

原題網址

輸入格式

輸入為一行文字,表示日期的月、日、年,格式如下:

MM DD YYYY

年的範圍在2000和3000之間(不包含2000和3000)。

輸出格式

輸出輸入的日期是星期幾,用大寫英文表示。

範例輸入

08 05 2015

範例輸出

WEDNESDAY

額外解釋

2015年8月5號是星期三(WEDNESDAY)。

解題概念

Calendar是Java 8出現之前所使用的類別,在Java 8之後有了新的時間與日期API,可以輕易完成這題所指定的功能。有關Java 8新增的時間與日期API用法,可以參考以下這篇文章:

讀取輸入的日期字串之後,使用Java 8的LocalDate類別建立出LocalDate物件,接著呼叫LocalDate物件的「getDayOfWeek」方法來取得該日期是星期幾。

參考答案

import java.time.LocalDate;
import java.util.Scanner;

public class Solution {

    public static void main(final String[] args) {

        final Scanner in = new Scanner(System.in);
        final String month = in.next();
        final String day = in.next();
        final String year = in.next();

        final LocalDate date = LocalDate.of(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
        System.out.println(date.getDayOfWeek().toString());
    }
}