教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

JAVA《万年历系统》课程设计报告附源码

来源:网络收集 时间:2026-02-06
导读: 学号 2013-2014学年 第二学期 《面向对象程序设计》 课程设计报告 题目: 万年历系统 专业: 计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩: 计算机与信息工程系 2014年6月6日 目录 1 设计内容及要求...........................................

学号

2013-2014学年 第二学期

《面向对象程序设计》 课程设计报告

题目: 万年历系统 专业: 计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩:

计算机与信息工程系

2014年6月6日

目录

1 设计内容及要求................................................... 1

1.1设计内容..................................................... 1 1.2设计任务及具体要求........................................... 1 2 概要设计......................................................... 2

2.1程序设计思路................................................. 2 2.2 总体程序框图 ................................................ 3 3 设计过程或程序代码............................................... 4

3.1各个模块的程序流程图及运行界面............................... 4 3.2对关键代码加以分析说明....................................... 7 4 设计结果与分析.................................................. 13

4.1程序调试的结果.............................................. 13 4.2程序设计分析................................................ 13 5 小 结........................................................... 14 致谢............................................................... 15 参考文献........................................................... 16 源程序............................................................. 17

计算机与信息工程系 《面向对象程序设计》课程设计报告

1 设计内容及要求

1.1设计内容

万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。在我设计的万年历中主要有:

(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规范。

(2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。

(3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。

(4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。

1.2设计任务及具体要求

利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。

要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。当用户随意改动年份或月份时系统自动显示与星期对应的日期。用户点击日期时系统会显示具体星座信息。

1

计算机与信息工程系 《面向对象程序设计》课程设计报告

2 概要设计

2.1程序设计思路

(1)总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。

(2)输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。

(3)算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。

(4)如果年份小于1900年则程序不予判断。

(5)公历与农历的换算。公历年对应的农历数据,每年三字节,格式第一字节BIT7-4 位 表示闰月月份,值为0 为无闰月,算法:日期+年份+所过闰年数+月较正数之和除7 的余数就是星期但如果是在闰年又不到3 月份上述之和要减一天再除7星期数为0。阴历月份计算:4\\6\\9\\11几个小月返回29天, 2月经过判断是否为闰年,选择返回28或29天,其余月份为大月,返回31天。

(6)系统时间的设置。直接从系统得到时间,设置字体,背景,显示框架等等,绘图就好了。

2

计算机与信息工程系 《面向对象程序设计》课程设计报告

2.2 总体程序框图

开始 程序初始化 获取当年系统时间和年份 计算与绘制屏幕 是否输入年份或选择月份

提交年月变更数据

结束

图1 总体程序框图

3

计算机与信息工程系 《面向对象程序设计》课程设计报告

5 小 结

在这次课程设计中,主要是运用Java语言来编写,并可运用其他的技术。在我的系统中,还采用了Swing控件、输入输出流等技术,而这些知识都是我们没有学过的,这就要求我们去查阅相关书籍。正因为这样,才锻炼了我的自学能力,为以后的学习打下了基础。此外,我还深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。

万年历系统程序的设计成功会让快节奏的社会上的感到方便,因为现在的社会离不开时间。他们只需要呆在家里就可以清楚的知道某一天的日期。并且对人们的工作也有所帮助,方便他们查询某年某月的资料以及制作报表。因此,我认为万年历在今后的发展空间很大,如果包装成简易软件会有很高的利用价值,我们可以随时随地查阅。

14

计算机与信息工程系 《面向对象程序设计》课程设计报告

致谢

在这次JAVA高级语言课程设计中,我的老师和同学给了我及大的帮助。特别是我的指导老师兼授课教师陈磊老师,在此,我对他们表示感谢。感谢他们在我面对困难时给了我帮助和支持,,也感谢那些给我帮助的所有同学。

15

计算机与信息工程系 《面向对象程序设计》课程设计报告

参考文献

[1] 牛晓太.Java程序设计教程[M],北京:清华大学出版社,2013.

[2] 朱福喜,傅建明.JAVA项目设计与开发范例[M],北京:电子工业出版社,2005.

[3] 刘宝林.JAVA程序设计与案例[M].北京:高等教育出版社,2006. [4] 刘亚峰,纪超.JavaSE6.编程指南[M].北京:人民邮电出版社,2007.11 [5] Walter Sav …… 此处隐藏:5153字,全部文档内容请下载后查看。喜欢就下载吧 ……

JAVA《万年历系统》课程设计报告附源码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/682541.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)