计算原理
蔡勒公式
■ h 代表最后的计算结果周几 (0: Saturday, 1: Sunday, 2: Monday, 3: Tuesday, 4:Wednesday, 5: Thursday, 6: Friday)。
■ q 代表你输入的日期。
■ m 代表你输入的月份。
■ j 代表输入日期所在的世纪,即输入年份的前两位。
■ k 代表日期所在世纪的年份,即输入年份的后两位。
JAVA代码
package Year;
import java.util.*;
public class Year {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.print("Enter year(eg.2008):");
int year=reader.nextInt();
System.out.print("Enter month(1-12):");
int month=reader.nextInt();
System.out.print("Enter the day of the month: ");
int day=reader.nextInt();
int h=(day+(26*(month+1)/10)+(year%100)+((year%100)/4)+(year/100)/4+5*(year/100))%7;
String week=new String("nothing") ;
switch(h)
{
case 0: week="Saturday"; break;
case 1: week="Sunday";break;
case 2: week="Monday";break;
case 3: week="Tuesday";break;
case 4: week="Wednesday";break;
case 5: week="Thursday";break;
case 6: week="Friday";break;
default:
System.out.println("Wrong!");
}
System.out.println("Day of the week is "+week);
}
}