java万年历课程报告

java万年历课程报告

ID:37859070

大小:147.50 KB

页数:18页

时间:2019-06-01

java万年历课程报告_第1页
java万年历课程报告_第2页
java万年历课程报告_第3页
java万年历课程报告_第4页
java万年历课程报告_第5页
资源描述:

《java万年历课程报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java程序设计课程设计报告设计题目:电子日历设计班级:学号:姓名:18--目录--一需求分析2二概要设计3三详细设计3四程序代码9五运行结果16六设计总结1718一需求分析对于万年历系统,其主要功能是:查看当日日期(年、月、日)、查看当时时间、查看其他年月的月历。主要使用流程是:查看万年历系统,查看其他月份或年份日历,选中其他日期查看,查看当日日期。主要功能的用例描述如下:1.查看万年历(1)、进入万年历系统;(2)、系统获取当日日期并设置日历为当月,黑框选中当日日期;2.查询当月其他年份改变年份的方法是选择年份。(1)、点击选择年份的下拉菜单,选择年份;

2、(2)、系统获取已选择的年份;(3)、系统设置为已选年份当月的月历并显示在界面显示。3.查询当年的其他月份改变月份的方法是选择月份。(1)、点击选择月份的下拉菜单,选择年份;(2)、系统获取已选择的月份;(3)、系统设置已选月份为当年的月历并在界面显示。4.选择其他日期查看(1)、点击其他日期;(2)、系统对所有日期的label进行监听,判断点击的那个label;(3)、返回被点击的label的数组下标;(4)、对该下标的label设置蓝色边框,表示选中。二概要设计(1)可以通过图形界面显示日历。(2)能以月历形式显示日期与星期。(3)支持用户自己输入年份,

3、可以通过上一年,下一年等按钮来选择年份和月份。18三详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2.输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3.算出输出月份第一天为星期

4、几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。4.输出年份介于1970-21005.显示系统时间。6.功能实现万年历系统查询指定年份日历查询指定月份日历查询相邻年份日历查询相邻月份日历查看今日显示时间187.关键技术(1)界面的绘制与显示publicclassCalendarSampleextendsJFrameimplementsActionListener,ItemListener{intwidth,height;st

5、aticintyear=1990,month=1;JButtonjl1,jl2;JLabelendfield;JPaneljp;Choicechyear;JTabletable;Objecttab[][];CalendarBeanca;String[]a;Objectname[]={"日","一","二","三","四","五","六"};publicstaticvoidmain(String[]args){newCalendarSample();}publicCalendarSample(){jp=newJPanel();ca=newCalendarBea

6、n();year=ca.getYear();month=ca.getMonth();jl1=newJButton("上月");jl2=newJButton("下月");chyear=newChoice();for(inti=1970;i<2100;i++){chyear.add(String.valueOf(i));18}tab=newObject[6][7];jl1.addActionListener(this);jl1.setActionCommand("left");jl2.addActionListener(this);jl2.setActionCo

7、mmand("right");chyear.addItemListener(this);chyear.setName("c1");endfield=newJLabel(""+year+"年 "+month+"月",JLabel.CENTER);update();jp.add(jl1);jp.add(jl2);jp.add(newJScrollPane(table),BorderLayout.CENTER);this.add(chyear,BorderLayout.NORTH);this.add(jp,BorderLayout.CENTER);this.add

8、(endfield,BorderLayout.SOU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。