import java.util.Scanner;
public class Calendar {
int SearchYear, SearchMonth;
String Weeks[] = { "日", "一", "二", "三", "四", "五", "六" };
int days[] = new int[12];
final int standardYear = 1905;
final int standardMonth = 1;
final int standardDay = 1;
public void Input() {
System.out.print("请输入要查询的年份:");
Scanner sc1 = new Scanner(System.in);
SearchYear = sc1.nextInt();
System.out.println();
System.out.print("请输入要查询的月份:");
Scanner sc2 = new Scanner(System.in);
SearchMonth = sc2.nextInt();
System.out.println();
for (int i = 0; i < days.length; i++) {
if ((i + 1 == 1) | (i + 1 == 3) | (i + 1 == 5) | (i + 1 == 7)
| (i + 1 == 8) | (i + 1 == 10) | (i + 1 == 12)) {
days[i] = 31;
}
if ((i + 1 == 4) | (i + 1 == 6) | (i + 1 == 9) | (i + 1 == 11)) {
days[i] = 30;
}
if (i + 1 == 2) {
if ( ((SearchYear % 4 == 0) & (SearchYear % 100 != 0)) | ((SearchYear % 100 == 0) &(SearchYear % 400 == 0)) ){
days[i] = 29;
} else
days[i] = 28;
}
}
}
public int Deduction() {
int Yearcha = (SearchYear - standardYear) * 365
+ (SearchYear - standardYear) / 4; //减1的原因是因为要看查询的前一年是否是闰年
int Monthcha = 0;
for (int num = 0; num < SearchMonth-1; num++) {
Monthcha= Monthcha+days[num];
}
int Total = Yearcha + Monthcha;
int Firstday = Total % 7;
//System.out.println("Year="+Yearcha);
//System.out.println("Month="+Monthcha);
return Firstday;
} // 推算方法
public void Output(int x) {
for (int i = 0; i < Weeks.length; i++) {
System.out.print(Weeks[i]+"/t");
}
System.out.println();
int count=0;
for(int j=0;j<x;j++)
{
System.out.print("/t");
count++;
}
for(int i=1;i<=days[SearchMonth-1];i++)
{
System.out.print(i+"/t");
count++;
if(count%7==0)
{
System.out.println();
}
}
//System.out.println("a="+SearchMonth);
} // 输出万年历
public static void main(String[] args) {
Calendar ca = new Calendar();
ca.Input();
ca.Output(ca.Deduction());
}
}