import java.util.Scanner;
import java.text.ParseException;
import java.util.Calendar;
public class Calendar {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("你输入的年月是:"+year+"年"+month+"月");
if(year%4==0 && year%100!=0 || year % 400 ==0) {
System.out.println(year+"年"+"是闰年");
}else {
System.out.println(year+"年"+"是平年");
}
int count = 1;
Calendar c = Calendar.getInstance();
//设置当前月份
c.set(year,month, 0); //输入类型为int类型
//获取当前月份的总天数
int days = c.get(Calendar.DAY_OF_MONTH);
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
//重新设置月份,用途:while循环天数累加
c.set(year, (month-1), 0); //输入类型为int类型
while (count <= days) {
c.add(Calendar.DAY_OF_MONTH, 1);
//DAY_OF_WEEK 当前周的第几天 1....7
int day = c.get(Calendar.DAY_OF_WEEK) - 1; //某个月从第几天开始
//当前月第一天 添加制表位
if (count ==1) {
for (int i = 0; i < day; i++) {
System.out.print("\t");
}
}
//出现星期天 就换行,外国人周天是一个周开始
if (day == 0) {
System.out.println();
}
//每月多少号
System.out.print(c.getTime().getDate() + "\t");
count++;
}
}
}
==============打印结果==============
请输入年份:
2000
请输入月份:
2
你输入的年月是:2000年2月
2000年是闰年
星期日星期一星期二星期三星期四星期五星期六
12345
6789101112
13141516171819
20212223242526
272829