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