1 /**
2 * Created by liangjiahao on 2017/2/26.
3 * 运用泽勒一致性计算某天是星期几?
4 * 公式:
5 * h = (q + 26(m+1)/10 + k +k/4 + j/4 +5j) % 7
6 *
7 */
8
9
10 import java.util.Scanner;
11 public class Zeller {
12 public static void main(String args[]){
13 Scanner imput = new Scanner(System.in);
14
15 System.out.print("Enter a year: (e.g, 2012): ");
16 int year = imput.nextInt();
17
18 System.out.print("Enter a mouth: 1-12: ");
19 int mouth = imput.nextInt();
20
21 System.out.print("Enter the day of the mouth: ");
22 int day = imput.nextInt();
23
24 int tempMouth = mouth; //一月二月记为13,14,年数记为上一年
25 switch (tempMouth){
26 case 1: mouth = 13; year -=1; break;
27 case 2: mouth = 14; year -=1; break;
28 }
29
30 int century = year / 100;
31 int yearOfCentury = year % 100;
32
33 int theDayIs = (day + 26 * (mouth + 1) / 10 + yearOfCentury + yearOfCentury / 4 + century / 4 + 5 * century) % 7;
34 //0为周六1为周日2为周一3为周二4为周三5为周四6为周五
35 switch (theDayIs){
36 case 0 :System.out.println("Day of the week is Saturday"); break;
37 case 1 :System.out.println("Day of the week is Sunday"); break;
38 case 2 :System.out.println("Day of the week is Monday"); break;
39 case 3 :System.out.println("Day of the week is Tuesday"); break;
40 case 4 :System.out.println("Day of the week is Wednesday"); break;
41 case 5 :System.out.println("Day of the week is Thursday"); break;
42 case 6 :System.out.println("Day of the week is Friday"); break;
43 }
44
45 }
46 }