首页 > 技术文章 > 蒜头君的生日(日期格式)

henuLiGang 2018-03-17 16:18 原文

蒜头君的生日快到了,蒜头君希望是在周末,蒜头君请你帮忙算出他生日在星期几。

输入格式

输入三个正整数,分别表示年、月、日。保证输入年份合法。

输出格式

输出星期几。用MondayTuesdayWednesdayThursdayFridaySaturdaySunday表示星期几。

样例输入1

1 1 1

样例输出1

Monday

样例输入2

2016 11 29

样例输出2

Tuesday
import java.util.*;
class Main {
    static String[] weekday = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
    static int whatday(int y, int m, int d) {
        // 返回正确的星期。用 0 - 6 表示 星期 1 - 7
        if(m==1||m==2){
            m=m+12;
            y=y-1;
        }
        int w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
//这里使用了蔡基姆拉尔森计算公式,详细使用可以参看下条博客文章
        return w;
    }
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int y = cin.nextInt();
        int m = cin.nextInt();
        int d = cin.nextInt();
        System.out.println(weekday[whatday(y, m, d)]);
    }
}

 

推荐阅读