电子与信息工程学院
程序设计项目实训报告
设计题目: 万年历
班 级: 计算机科学与技术 2401
小组成员: XXXXXXXXXXX
学 号: 2024011428、2024011422
设计时间: 2024 年春学期第 17-18 周
目 录
一、实验目的............................................................................................................................2
二、功能模块图 ......................................................................................................................2
1、功能设计 ........................................................................................2
2、详细设计 ........................................................................................3
3、功能模块图 ....................................................................................3
三、程序运行主页面............................................................................................................4
1、运行主页面 ....................................................................................4
2、程序流程图 ....................................................................................4
3、程序测试 ........................................................................................5
四、主要代码分析.................................................................................................................6
五、问题及改进 ....................................................................................................................11
1、实验代码 ......................................................................................11
2、实验报告 ......................................................................................11
六、心得体会..........................................................................................................................11
一、实验目的
这学期我们学习了 Java 语言,Java 语言是面向对象的开发方法是当今世界
最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分
布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。
很多程序开发人员得第一选择。
为了进一步巩固课堂上所学到的知识,深刻把握 Java 语言的重要概念及其
面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题
的能力,开设了 Java 程序设计课程设计。让我们自己动手动脑,将书本上得知
识运用到实践当中去,使知识能更好得融会贯通。
为了达到这个目的,我们需要自己动手做一个 Java 的课程设计,在这个课
程设计里我们需要根据我们手中现有得软件与知识基础,独立得将它完成,只有
这样,我们才能把理论变成实践,将知识真正得做到学以致用。
这次课程设计主要让我们利用已学的 Java 知识编辑一个电子万年历。通过此
次课程设计,来巩固所学 Java 语言基本知识,增进 Java 语言编辑基本功,掌握
JDK、esclipse 等开发工具的运用,拓宽常用类库的应用。并通过自己动手,自
主得学习,对 Java 这门课程有更深得了解与认识。
二、功能模块图
1、功能设计
本程序要构建万年历程序,其功能有以下几个方面:
(1) 通过网页形式运行,实现图形化界面;
(2) 能以日历形式显示日期与星期;
(3) 支持用户输入年份,并且提供月份及年份按钮;
(4) 显示当前时间,具体到分秒。
2、详细设计
(1)总天数算法:首先通过 if 语句判断当前年到输入年之间每一年是否
为闰年,是闰年则二月为 29 天总天数 366,否则二月为 28 天总天数为 365;然
后判断输入年是否为定义年,如果是令总天数为 1,否则用累加法算出当前年到
输入年总天数累加。
(2)输入月份的第一天为周几的算法:使总天数除以 7 取余得几位星期几,
若为 0 则为星期日。
(3)输入月份第一天为星期几后,把该日期之前的位置用空格补上,并把
该月一日为星期几的数字再除以 7 得 0 换行,即可完整输出该月的日历。
3、功能模块图
图 1 显示万年历功能函数,主要由以下四部分函数组成:myJframe()函数用
来显示系统界面、showCalender()函数用来获取系统时间数据其中包括判断该年
是闰年还是平年来计算该年共有多少天还包括对每月第一天为周几进行判断、
actionPerformed()函数是监听器当按下下一年上一年下一月上一月或在文本框
输入年月日对应跳转、Timer()函数是界面左下角当前时间的获取。
图 1 功能模块图
三、程序运行主页面
1、运行主页面
下图为程序运行主页面截图,输入查找日期既可通过文本框输入后按下确定
按钮,也可通过上一年下一年、上一月下一月按钮,文本左下方显示当前精准日
期。
图 2 程序运行主页面
2、程序流程图
下图显示了程序运行流程,当程序初始化后,程序首先获取当前时间数据,
然后编写运行主页面截图如图二所示,若用户需要查询时间选择相应年份月份,
系统更新数据后在主页面显示查询数据。