【小项目】用Java写一个日历小程序-思路

先显示一下结果:
鏃ュ巻灏忕▼搴忕粨鏋滄樉绀?by
基本功能:
    可以通过左右按钮来切换年月,并同时在其下方显示日期,并且对映相应星期数
使用语言:
    纯Java语言
需要了解的辅助方面:
    java.awt.*;
    java.awt.event.*;
    javax.swing.*;
------------------------------------
下面开始界面布局:
1.先要有最顶端的布局:,我们命名为calendar_ym
2.要有星期数列的布局:,我们命名为calendar_week
3.要有日期数列的布局:,我们命名为calendar_days
4.最后要有关闭的按钮:,我们命名为calendar_exit。
 
明确变量部分:
    很明显,年月一定是要变得,而年月变化,必然引起日期的变化,即calendar_ym和calendar_days是变量组
 
难点部分:
    困难的地方是,如何精确地计算出某年某月某日是星期几,这是一个很让人头疼的事情,下面给出一个公式:
 
星期计算公式
(年+年/4+年/400-年/100-年基数+月基数+日)/7=……余星期几
注:式中分数均取整 
       年基数,平年1,闰年2, 
       月基数,1、平年:一月0, 二月3, 三月3, 四月6, 五月1, 六月4, 
                             七月0, 八月3, 九月5, 十月0, 十一月3, 十二月5. 
                  2、闰年:一月0, 二月3, 三月4, 四月0, 五月2, 六月5, 
                              七月0, 八月3, 九月6, 十月1, 十一月4, 十二月6.

如:1949年10月1日是星期几?
    (1949+1949/4+1949/400-1949/100-1+0+1)/7
=(1949+487+4-19-1+0+1)/7
=345……6
即该日为星期六。
   
     仔细观察我们发现,在确定星期数的过程中要判断该年是否为闰年,如下
 
判断闰年方法

1.能被4整除,且不能被100整除

2.能被100整除,且能被400整除

满足其中一个条件便是闰年
 
代码布局:
由上面的分析得知:
1.建立一个关于日期的类,我们称之为SDate,其方法全部为静态方法,如下:
  • boolean isLeap(int year); 判断该年是否为闰年
  • int fixDay(int year, int month);返回某年某月1日的星期数
  • int accountDays(int year,int month);返回某年某月的日期总数
2.建立日历表的类,我们称之为DateGrid,查看代码
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值