import java.util.*;
//import java.text.*;
class RiLi
{
int days;
public void jisuan(){
Calendar calendar = Calendar.getInstance();
Scanner sc=new Scanner(System.in);
System.out.print("请输入年份");
int year = sc.nextInt();
System.out.print("请输入月份");
int m = sc.nextInt();
int month = m-1;//计算月要减一
calendar.set(Calendar.YEAR, year);//用户输入的年
calendar.set(Calendar.MONTH, month); //用户输入的月
calendar.set(Calendar.DATE, 0); //没有输入天数
if (((year%4==0&&year%100!=0)||(year%400==0))&&m==2)//闰年2月的天数
{
days = 29;
}else {
days = panduan(month+1);//传过去判断时要恢复到输入的值
}
System.out.println(year + "年" + (month + 1) + "月的日历:");
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
for (int count = 1;count<=days;count++)
{
calendar.add(Calendar.DAY_OF_MONTH, 1); //这个月的第一天 运行一次就加一
//int day = calendar.getTime().getDay(); //取出这一天 .getDay()过时了.
int day = calendar.get(Calendar.DAY_OF_WEEK);
// System.out.print(day+"\t");
if (count ==1) {
for (int i = 0; i < day-1; i++) {
System.out.print("\t");
}
}
if ( (day-1)== 0) {
System.out.println(); //出现星期天 就换行,外国人周天是一个周开始
}
//System.out.print(calendar.getTime().getDate() + "\t"); //每月多少号 // getDate()过时了
System.out.print(count + "\t");
}
}
public static int panduan(int m) {
int days = 0;
switch (m) {
case 2:
days = 28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 0;
}
return days;
}
}
class Work1
{
public static void main(String[] args)
{
RiLi r = new RiLi();
r.jisuan();
}
}