任务需求
完成从控制台输入XXXX年XX月,输出该月日历。
运行效果如下图所示:
项目分析:
最难的部分就是星期的确定,已知 1900 年 1 月 1 日为星期一,计算出当前月份的 1 号距离1900 年 1 月 1 日的是多少天,然后就可以换算出星期了。
定义以下几个方法:
- 判读输入的年份是否为闰年
- 获取指定的年有多少天
- 获取指定的年\月 拥有的天数
- 获取 1900 年 1 月 1 日到指定年月之前那个月的总天数
- 在 main 方法中完成输入、处理、输出
一、判断闰年平年
分析:首先我们看程序看似无从下手,但是具体分析我们会发现无论输入年份是多少,我们都
需要判断该年是平年还是闰年来确定 2 月或者整年多少天,所以我们先来求一下所输入年份是平年还是闰年,返回判断结果。
二、获取指定年份的天数
分析:我们只知道 1900 年 1 月 1 日为周一,所以我们肯定是计算输入年份距离 1900 年 1 月 1日的日期差,日期差包含输入年份之前天数加该年月份之前的天数和,我们这里先来计算一下输入年份距离 1900 年的天数,每年的天数我们知道和该年是否为平闰年有关,所以这时候我们就可以用到我们上面方法当中的判断了。
三、获取指定的年\月 拥有的天数
分析:判断指定年份对应的天数,就要判读指定月份对应的天数了,因为 2 月的原因所以我
们既需要获取年份,也需要获取月份,并且需要用到我们上面写的判断平闰年的方法。
四、获取 1900 年 1 月 1 日到指定年月之前那个月的总天数
分析:上面已经判断过指定年份和月份有多少天了,接下来就要计算一下总天数了
五、main 中输入处理并输出
分析:现在计算总天数的方法已经有了,接下来我们就是通过输入计算一下总天数并判断该月 1 号到底为周几,然后输出整个的日历。
谢谢大家的观看,到这里都没有了。如有错误请指出,感谢、感谢。
最后和我一起成为Java的爱好者吧!