如何用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