Java基础之打印万年历

      今天刚开的博客,第一篇博文,一篇关于Java基础的内容,水平有限,多多见谅,希望和大家在学习编程的路上共同进步。

问题:输入年,月,打印对应年月的日历。

  示例:

-------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------

问题分析:

    1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天;

    2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几?

         解决1号是星期几?

        2.1: 先计算出年天数,即截至这一年1月1号的天数,用for循环,从1970年开始,闰年+366,平年+365;

        2.2: 计算出月天数,即截至本月1号的天数,用for循环,从1月份开始,算出月天数;

               2.1.1 :用到闰年判断,用switch来判断返回月天数;

        2.3: 用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;

    3, 判断本月的总天数(用到switch语句);

    4, 打印日历;

代码实现:

   一个函数实现打印printTitle();即实现固定的头部部分;

   实现print(参数1,参数2,参数3);即实现打印日历主题部分;

     参数1(计算总天数):计算年天数,计算月天数;

     参数2 传递年份;

     参数3 传递月份;

  判断闰年设置独立函数;

  总结:

      解决问题前一定要先分析问题,把大问题逐步分成小问题,理清逻辑,实现小问题的逻辑,整个问题就已经实现了百分之八十;

      自下而上,逐步实现,函数独立调用;

     

代码实现部分:

-----------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------

 

原文地址:https://www.cnblogs.com/greatfish/p/5701900.html