如何用java写一个年日历
没啥难的,话不多说上代码😎😎
看注释应该没问题💕💕💖
import java.time.LocalDate;
import java.util.Scanner;
public class YearCalender {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入年:");
int year = input.nextInt();
for (int i = 1; i <= 12; i++) {
//得到该年第一天
LocalDate date = LocalDate.of(year, i, 1);
//得到该月1日是周几
int dayOfWeek = date.getDayOfWeek().getValue();
//得到该月是多少天
int dayOfMonth = date.lengthOfMonth();
//打印每个月的表头
System.out.println(year+" 年"+" "+i+" 月");
System.out.println("----------------------------------------------------------");
System.out.printf("%10s%10s%10s%10s%10s%10s%10s%n","周一","周二","周三","周四","周五","周六","周日");
//输出每个月表头的空格
for (int j = 2; j <= dayOfWeek ; j++) {
System.out.printf(" %4s"," ");
}
//输出每天
for (int j = 1; j <= dayOfMonth; j++) {
System.out.printf(" %5d",j);
//每7天换行一次
if ((dayOfWeek +j-1)%7 == 0 ) {
System.out.println();
}
}
//每个月之间空开更美观
System.out.println();
System.out.println();
}
}
}
运行结果:
请输入年:
2022
2022 年 1 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 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
2022 年 3 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 4 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 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
2022 年 6 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 7 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 8 月
周一 周二 周三 周四 周五 周六 周日
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
2022 年 9 月
周一 周二 周三 周四 周五 周六 周日
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
2022 年 10 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 11 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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
2022 年 12 月
----------------------------------------------------------
周一 周二 周三 周四 周五 周六 周日
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