• 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 传递月份;

      判断闰年设置独立函数;

      总结:

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

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

         

    代码实现部分:

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

     

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

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

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

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

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

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

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

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

     

  • 相关阅读:
    oracle中常用的函数
    请求转发和URL重定向的原理和区别
    servlet的生命周期和servlet的继承关系
    Jdbc来操作事物 完成模拟银行的转账业务
    Map的嵌套 练习
    正则表达式练习
    学习 day4 html 盒子模型
    学习day03
    学习day02
    学习day01
  • 原文地址:https://www.cnblogs.com/greatfish/p/5701900.html
Copyright © 2020-2023  润新知