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 }