为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

java万年历(学年论文)

2019-04-21 9页 doc 30KB 32阅读

用户头像

is_477730

暂无简介

举报
java万年历(学年论文) 学  年  论  文 题    目: 基于Java开发的万年历程序设计                        学    院:      数学与统计学院                        专    业:      信息与计算科学                    班    级:        11级(1)班                学生姓名:          郝玉霞                      学    号:        201171020107            ...
java万年历(学年论文)
学  年  论  文 题    目: 基于Java开发的万年历程序设计                        学    院:      数学与统计学院                        专    业:      信息与计算科学                    班    级:        11级(1)班                学生姓名:          郝玉霞                      学    号:        201171020107                  指导教师:          吴红萍                      基于Java开发的万年历程序设计 郝玉霞 (西北师范大学数学与统计学院  兰州  730070) 摘要: 本文是在Java的基础上,使用了Mycalendar、JFrame、Clock、TimeThread、Timer等类和showCalendar、getDaysOfMonth、mouseClicked、run、today等方法,运用了if-else、try-catch等基本的Java语句,使用图形用户界面为用户开发了一个便捷的万年历。 关键字: Java 语言;万年历;图形界面 Calendar program design based on Java development HAOYuxia (College of Mathematics and Statistics, Northwest Normal University,  Lanzhou  730070) Abstract: This article is based on Java, use the Mycalendar, JFrame, Clock, TimeThread, Timer, etc and theshowCalendar、getDaysOfMonth、run、today mouseClicked methods, and using the if - else, try-catch basic Java statements, such as using a graphical user interface for users to develop a convenient Calendar. Key Words :Java language; Calendar; The graphical interface 引言 在当代繁忙的工作与生活中,时间与我们每一个人都有非常亲密的关系,每个人都受到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟。随着社会、科技的发展,人类得知时间,从观看太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如阴阳历、星期、日期等,而后万年历被人们所发明,在此我在原来万年历的基础上做个改进,为大家设计了能够为大家提供更多服务的万年历,它集时间、日期、星期和时区于一身,而且还具有闹钟和备忘录功能,方便你设置查看日程,防止你在每天忙忙碌碌的工作中忘记一些关键事情或重大事件,并且具有读取方便、显示直观、功能多样 使用寿命长,误差小诸多优点,符合众多人们的需求,具有广阔的使用前景。 1  简要概述 1.1用户需求 (1)能够提供时区选择。 (2)能够实现日期与星期的查询。 (3)可显示1-9999年的日历信息 (4)显示准确、完整,界面美观。 1.2设计目的 (1)为用户开发一个便捷的万年历; (2)对java技术的灵活应用; (3)掌握日期处理技术; (4)初步了解软件工程理论知识。 1.3主要特点 (1)清楚直观,便于查询 (2)功能齐全 2  功能分析 2.1功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1) 能够查找1至9999年的日期与星期的关系。 (2)能以阳历和阴历形式显示日期与星期。 (3)支持用户自己输入年份及月份。 (4)本程序能够实现闹钟提示。 (5)本程序具有备忘录功能。 (6)本程序能够提供时区选择,以便查看不同时区的时间。 2 .2 系统功能结构图 (1)Clock类:运用线程,包含了run方法,实现时钟的功能。 (2)Mycalendar类:作为主类实现了ActionListener, MouseListener    接口,继承了JFrame类,包含了showCalendar,actionPerformed,  showTextArea,updateTimeText和main等方法。 showCalendar方法:定义各个参数,应用AWT的绘图功能,构建总体框架;获取所要查找的年份和月份,通过调用getDaysOfMonth方法,实现日历模块功能,并得到所需结果; actionPerformed方法:控制年月份的正确输入; showTextArea方法:其主要功能是将功力化为农历; updateTimeText方法:设置时区查询,以便用户查询不同时区的时间; 图1  系统功能结构 3  总体设计 3.1程序设计思路 本程序主要分为以下几个模块: (1)闹钟模块:此模块的主要功能为:在用户设置的闹钟提示时间5分钟内,进行闹钟提示。 (2)备忘录模块:此模块的主要为用户提供记录重要事件功能,减少用户所面临的不必要的烦恼。 (3)日期模块 ①总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,若是闰年,该年的总天数为366,否则为365,然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 ②输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。 ③算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该          日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该 月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 ④如果年份大于9999年则程序不予判断。 (4)农历和气节显示模块:其主要功能是方便用户查询当天的农历、星期、节气、生肖等。 (5)温馨提示模块:此模块主要内容为惜时励志名言,主要功能是激励广大用户珍惜时间,把握好生命中的每一天。 (6)时区选择模块:此模块的主要功能是方便用户查看不同时区的时间。 3.2程序运行界面 运行界面如下: 图2 运行界面 3.3流程图: 图3  流程图 4  各模块的功能及程序说明 4.1初始化组件 private Calendar cld = Calendar.getInstance();    private String[] week = {  "星期日", "星期一", "星期二", "星期三", "      星期四", "星期五", "星期六" }; private DefaultTableModel dtm = new DefaultTableModel(null, week); private JTable table = new JTable(dtm); private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年"); private JButton bNextYear = new JButton("下一年"); private JButton bLastMonth = new JButton("上月"); private JButton bNextMonth = new JButton("下月"); private JButton bAddClock = new JButton("确定"); private JPanel p1 = new JPanel(); // 装入控制日期的按钮模块 private JPanel p2 = new JPanel(new GridLayout(3,2)); private JPanel p3 = new JPanel(new BorderLayout()); private JPanel p4 = new JPanel(new GridLayout(2,1)); private JPanel p5 = new JPanel(new BorderLayout()); private JPanel p6 = new JPanel(new GridLayout(2,2)); private JPanel p7 = new JPanel(new GridLayout(2,1)); private JPanel p8 = new JPanel(new BorderLayout()); private JPanel p9 = new JPanel(new BorderLayout()); private JPanel p10 = new JPanel(new GridLayout(6,1)); private JPanel p11 = new JPanel(new BorderLayout()); private JTextField jtfYear = new JTextField(5);    private JTextField jtfMonth = new JTextField(2);    private JTextField timeField=new JTextField(); private JTextField h1=new JTextField(5); private JTextField m1=new JTextField(5); private static JTextArea jta = new JTextArea(4,5); private JScrollPane jsp = new JScrollPane(jta);
/
本文档为【java万年历(学年论文)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索