題目描述
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());
}
}