1、 万年历设计万年历设计 摘要摘要 Java 语言自 1995 年面世以来,以其与平台无关性、安全性、面向对象等特 性被越来越多的人使用,是目前应用非常广泛的一门面向对象的程序设计语言, 本次课程设计的万年历是一个强大的日历系统,通过它可以实现对过去,现在以及 将来日期的查找,在开发的过程中,首先对相应的数据和图形界面初始化,并获取 系统当前的年和月,如果要进行查找,可以通过在年份对话框中输入要查询的年 份,再相应的在月份对应的下拉菜单选择要查询的月份,则可得到相应的日历。 本设计是对图形用户界面,布局管理器的综合运用,理解 JAVA 的时间处理 机制,编写独立运行的窗口。该万年历采用 Myec
2、lipse 为基本开发环境和 java 语 言进行编写,首先可在短时间内建立系统应用原型,然后,对程序进行不断修正 和改进,直到形成可行系统。 关键词: java、面向对象、万年历 目录目录 1、前言 1 2、设计内容 1 3、设计过程 1 3.1 需求分析 . 1 3.2 概要设计. 1 3.3 详细设计. 2 3.4 代码实现. 4 3.5 运行结果. 8 4、总结 9 5、参考文献 .10 1 1、前言 Java 的体系结构由 Java 语言、Java class、Java API、Java 虚拟机组成。它具 有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java 支
3、持多线程编程,Java 运行时系统在多线程同步方面具有成熟的解决方案。Java 的平台标准有 Java ME,Java SE 和 Java EE。Java 发展到今天,它的卓越成就及 在业界的地位毋庸置疑。 目前在众多的支持Java的开发工具中主要的工具有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper 和 Eclipse 等。其中 Java Development Kit 简称 JDK 是大多开发工具的基础。以上的每种开发工具都 有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬 件环境等因素来选择一种合
4、适的开发工具。本次万年历就是通过 JAVA 语言来完 成的。 2、设计内容 万年历是一个强大的日历系统,通过它可以实现对过去,现在以及将来日期 的查找,通过在年份对话框中输入要查询的年份,再相应的在月份对应的下拉菜 单选择要查询的月份,则可得到相应的日历。本设计是对图形用户界面,布局管 理器的综合运用,理解 JAVA 的时间处理机制,编写独立运行的窗口。 3、设计过程 3.1 需求分析 本次设计的要求为通过使用图形用户界面,从而能够实现日期与星期的查 询。本程序的具体功能为如下几个方面: (1)能够实现图形界面 (2)能以月历形式显示日期与星期 (3)支持用户自己输入年份,并提供月份的下拉形式
5、菜单来选择月份 (4)通过点击“update”按钮来更新和刷新日历 3.2 概要设计 (1)总天数的算法:首先用 if 语句判断定义年到输入年之间每一年是否为 2 闰年,是闰年,该年的总天数为 366,否则,为 365。然后判断输入的年是否为 定义年,若是,令总天数 S=1,否则,用累加法计算出定义年到输入年之间的总 天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中 的月份并且该月还大于二月,再使总天数加 1,否则,不加,既算出从定义年一 月一日到输出年的该月一日的总天数。 (2) 输出月份第一天为星期几的算法:使总天数除以 7 取余加 2 得几既为 星期几,若是 7,则
6、为星期日。 (3)算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几 后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月 中的天数加上该月一日为星期几的数字再除以 7 得 0 换行, 即可完整的输出该月 的日历。 (4)如果年份小于 1582 年则程序不予判断。 3.3 详细设计 (1)流程图 3 图 1 程序流程图 (2)导入程序所需的类 import java.applet.Applet; import java.awt.*; import java.util.*; (3)初始化数据 public class WanNianLi extends Applet static final int TOP = 70; /顶端距离 static final int CELLWIDTH=50,CELLHEIGHT = 30; /单元格尺寸 static final int MARGIN = 3; /边界距离 static final int FEBRUARY = 1; TextField tfYear = new TextField(“2