import java.util.Calendar;
import java.util.Scanner;
public class CalendarTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("<<<<<万年小日历>>>>>\n");
int year=0; //年份
int month=0; //月份
System.out.println("请输入年份:");
year = sc.nextInt();
System.out.println("请输入月份:");
month = sc.nextInt();
//根据日历类对象的方法,实例化一个当前的日历类对象
Calendar cd=Calendar.getInstance();
//设置日历对象的年,月,日
cd.set(Calendar.YEAR, year);
cd.set(Calendar.MONTH, month-1);//月份是0-11
cd.set(Calendar.DATE, 1);
//得到当前月份的最大值
int day=cd.getActualMaximum(Calendar.DATE);
//得到本月中的第一天是星期几
int week=cd.get(Calendar.DAY_OF_WEEK);
//一个计数变量
int count=0;
System.out.println("\n\t\t"+year+"年"+month+"月\n");
//打印日历的星期
String strDate[]={"日\t","一\t","二\t","三\t","四\t","五\t","六\t"};
for(int i=0;i<strDate.length;i++){
System.out.println(strDate[i]);
}
System.out.println("\n");
//判断第一天对应的是星期几
while(count<week-1){
System.out.println("\t");
count++;//计数变量自增
}
//循环打印日历
for(int i=1;i<=day;i++,count++){
//包含前面的空格,当有7个数时就换行
if(count%7==0){
System.out.println();
}
System.out.println(i+"\t");//打印号数
}
}
}