万年历是中国古代传说中最早的太阳历之一,相传为纪念历法创制者万年所做出的卓越贡献而得名。最初它承载着古人对天文时序的认知与智慧。如今人们所说的万年历,则是指涵盖较长时期(如百年以上)阳历与农历日期对照的实用年历工具,便于查阅特定日期对应的星期、节气、农历信息等。尽管沿用了万年历这一名称,但现代版本更多是时间查询工具,其功能和形式已与最初的历法体系无直接关联,体现了传统名称在当代生活中的延续与演变。
2、 创建一个Java项目,名称自定
3、 起好名字后点击完成即可
4、 右键项目,选择新建类
5、 名为TextControl的类
6、 包名为 com.zf.s2
7、 完成点击
8、 新建包并导入输入输出流类。
9、 声明一个名为 com.zf.s2 的程序包。
10、 可打印任意年份日历的操作类
11、 定义静态变量用于存储年、月日和星期,方便其他类直接访问和使用这些公共数据。
12、 判断指定年份是否为闰年,满足被4整除但不被100整除,或被400整除的条件即为闰年。
13、 }
14、 计算指定年份的第一天是星期几,通过特定算法得出该日期对应的星期数。
15、 判断年份是否为闰年,满足条件则返回真值。
16、 }
17、 打印文档标题
18、 输出星期信息,用于显示一周的标题内容。
19、 输出:日 一 二 三 四 五 六,按顺序排列一周的星期名称。
20、 }
21、 每月天数查询
22、 判断指定年份是否为闰年,是则返回真,否则返回假。
23、 }
24、 }
25、 按不同条件分月打印
26、 遍历从1到12的整数,表示一年中的每个月份,依次进行循环处理。
27、 {
28、 输出变量m的值,并在后面加上月字。
29、 根据每月第一天是星期几,循环输出对应数量的空格,用于日历排版对齐。
30、 }
31、 获取指定月份的总天数,并将其赋值给变量 monthDay。
32、 当d小于10时,执行接下来的四行代码以格式化输出结果。
33、 每天输出后,通过取模运算更新星期值,确保其在0到6范围内循环,准确表示第二天的星期数。
34、 当周日到来时,即刻进行换行处理,确保格式正确排列。
35、 }
36、 }
37、 }
38、 Java程序的主函数入口位置
39、 请输入一个年份:
40、 接收控制台输入数据的字符流读取器。
41、 计算指定年份的第一天是星期几,并将结果赋值给变量 weekDay。
42、 输出指定年份,格式为年份 + 年,前后包含空格,用于显示当前处理的年份信息。
43、 }
44、 }
45、 输出结果
