史上最强
自己写了好几种,这种应该算是我觉得最好的
输入一个年份,输入一个月份,将该月的日历信息在控制台打印
public class Test1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份");
int year=sc.nextInt();
System.out.println("请输入月份");
int month=sc.nextInt();
//获得当月天数
Calendar calendar=Calendar.getInstance();
calendar.set(year,month,1);
calendar.add(Calendar.DATE,-1);//回退一天
int dayCount=calendar.get(Calendar.DAY_OF_MONTH);//获得当月天数
//打印1号前的空格
calendar.set(Calendar.DATE,1);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK);//获得1号星期几
String[] weeks = {"日","一","二","三","四","五","六"};
for (int i = 0; i < weeks.length ; i++) {
System.out.print(weeks[i]+"\t");
}
System.out.println();
for (int i = 1; i < weekDay; i++) {
System.out.print("\t");
}
for (int i = 1; i <= dayCount; i++) {
//输出一个日期,日期往后走一天。
calendar.set(Calendar.DAY_OF_MONTH,i);
System.out.print(i+"\t");
if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)//打印完周六换行
System.out.println();
}
}
}