Calendar类方法——编写万年历的两种方式

要求:键盘输入一个年份和月份,控制台输出当月的日历

第一种方式,以1900年1月1日为参考点进行编写,纯粹的面向过程的编程形式,重点在于函数的封装和调用思想

之所以以1900年为出发点,是因为当年的一月一日为星期一(如果这天还是农历正月初一那就相当厉害,可惜是腊月初一),可以很方便的计算出从1900年1月1日到所输入日期的总天数,这也是万年历编写的核心算法。
从 1900.1.1 到 输 入 月 份 的 前 一 个 月 月 底 的 总 天 数 + 1 7 = = 0 ? { {从1900.1.1到输入月份的前一个月月底的总天数 + 1}\over {7}}==0? 71900.1.1+1==0?
如果等于0,说明所输入的月份的第一天为星期日,然后可以循环遍历第一天之前的空格位置以及后面的天数部分。

参考链接

https://blog.csdn.net/dz77dz/article/details/81367050

/*主方法没有列出,这里仅仅列出了几个封装函数方法,主方法为public,方便用户端输入
* 这些封装方法都是内部调用,所以使用了private修饰
*/
/**
* 判断是否为闰年
* @param year  int类型,年份
* @return  boolean类型,闰年返回true,平年返回false,也用于后面的月份判断
*/
private static boolean DaysOfleapYear(int year) {
   
    if ((0 == year % 4 && 0 != year % 100) || 0 == year % 400
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值