本来想完善后再上传的,但是我已经迫不及待了,注释也没有完善,哈哈
public int show(String str) {
if (str.equals("星期一")) {
return 1;
} else if (str.equals("星期二")) {
return 2;
} else if (str.equals("星期三")) {
return 3;
} else if (str.equals("星期四")) {
return 4;
}else if(str.equals("星期五")){
return 5;
}else if(str.equals("星期六")){
return 6;
}else if(str.equals("星期日")){
return 7;
}
return 0;
}
// 键盘扫描器
Scanner key = new Scanner(System.in);
// 同来获取当前时间---工厂模式创建
Calendar cal = Calendar.getInstance();
while (true) {
System.out.println("----------------万年历----------------");
System.out.println("请选择年份");
int year1 = key.nextInt();
System.out.println("请选择月份");
int month1 = key.nextInt();
cal.getActualMaximum(Calendar.DAY_OF_YEAR);
// 设置年份
cal.set(Calendar.YEAR, year1);
// 设置月份
cal.set(Calendar.MONTH, month1 - 1);
cal.set(Calendar.DATE, 1);
cal.getTime();
System.out.println("----------------" + year1 + "年" + month1 + "月的日历----------------");
// 周
System.out.println("一\t二\t三\t四\t五\t六\t日");
SimpleDateFormat sdf = new SimpleDateFormat("E");
String str = sdf.format(cal.getTime());
Demo4定时器之万年历 de=new Demo4定时器之万年历();
int a=de.show(str);
for(int i=0;i<(a-1);i++){
System.out.print("\t");
}
for(int i=1;i<=cal.getActualMaximum(Calendar.DATE);i++){
System.out.print(i+"\t");
if(a==7){
a=0;
System.out.println();
}
a++;
}
}
输出结果:
----------------万年历----------------
请选择年份
2021
请选择月份
2
----------------2021年2月的日历----------------
一 二 三 四 五 六 日
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
----------------万年历----------------
请选择年份
2021
请选择月份
5
----------------2021年5月的日历----------------
一 二 三 四 五 六 日
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 ----------------万年历----------------
请选择年份