zoukankan      html  css  js  c++  java
  • 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 传递月份;

      判断闰年设置独立函数;

      总结:

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

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

         

    代码实现部分:

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

     

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

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

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

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

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

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

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

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

     

  • 相关阅读:
    MySQL——字符串拆分(含分隔符的字符串截取)
    一列数据组合成字符串并用逗号隔开
    web最大化,最小化文字错位的问题
    Esxi虚拟机安装Ros+Openwrt软路由双系统简单分享(踩到的坑,很大的坑)
    跟着老司机免费申请一个域名去!
    logging模块
    os.rename 和os.replace
    装饰器详解
    python if not
    globals和locals的区别
  • 原文地址:https://www.cnblogs.com/greatfish/p/5701900.html
Copyright © 2011-2022 走看看