万年历报告(共28页).doc
《万年历报告(共28页).doc》由会员分享,可在线阅读,更多相关《万年历报告(共28页).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上陕西师范大学远程教育学院计算机科学与技术管理系题 目: 万年历课程设计 专业班级: 122班 姓 名: 冯建学 学 号: 001 指导教师: 成 绩: 序 言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚
2、拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根
3、据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。我做的课程题目是万年历的设计,万年历在我们的手机,电脑,MP4等电子产品中随处可见,其功能也十分简单,最核心的是提供某年某月的日历,在我的设计中,还增加了具体的时刻以及不同时区不同国家的时刻,简单的设计确是复杂的代码实现,不过万年历确实给予我们生活的诸多方便!目 录专心-专注-专业摘 要这学期我们学习了Java语言,Java语言是面向对象的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。很多程序开发人员得第一选择。为
4、了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。让学生自己动手动脑,将书本上得知识运用到实践当中去,使知识能更好得融会贯通。为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里我们需要根据我们手中现有得软件与知识基础,独立得将它完成,只有这样,我们才能把理论变成实践,将知识真正得做到学以致用。这次课程设计我主要研究了利用已学的Java知识编辑一个电子万年历。通过此次课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK
5、、JCreator等开发工具的运用,拓宽常用类库的应用。并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。关键词: 万年历 Java语言 日历算法正 文1. 系统分析与设计 (1) 需求分析本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询;3.可以显示不同时区的时刻;4.模拟一个计时器,不断地输出下一秒;(2) 功能设计(1)定义一个时间类Time,能提供时、分、秒组成的时间,并提供时间增加的方法(按秒);(2)定义一个日期类Date,记录年、月、日,并提供日期增加的方法(按天);(3)由类Time和日期类Date,派生出DateTime类,除具有年、月
6、、日、时、分、秒外,还增加国名和与格林威治时间的差;(4)输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断输出下一秒的时间和日期,以及格林威治的日期和时间。2. 详细分析3. Windows类中的成员函数:4. Frame B = new Frame(万年历);5. Panel a1 = new Panel();6. Panel a2 = new Panel();7. Panel a3 = new Panel();8. Panel a4 = new Panel();9. TextField T1, T2, P1, P2, P3, P4, P5, P6;10. TextField
7、p = new TextField7;/ 时间输出框11. Label R1, R2;12. Button S1;/ 查询按钮13. TextField a;/月份查询表按钮14. int i, yy;15. int k = 0, mouth1;16.17. int y1 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/平年的月份天数18. int y2 = 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/ 闰年的月份天数19. Button S2 = new Button(北京
8、);/启动北京时间按钮20. Button S3 = new Button(夏威夷);/启动夏威夷时间按钮21. Button S4 = new Button(伦敦);/启动伦敦时间按钮22. Label R3, R4, R5, R6, R7, R8, R9, R10, R11, R12;23. final TextField K1, K2, K3;24. final TextField K4;25. final TextField K5;26. final TextField K6;27. 28. Button S5 = new Button(开始计算);/计算格林威治时间所有按钮和文本框2
9、9.30. Windows成员方法:31. void getmessage(int x, int y)/ 获取年月并进行判断32. public void go()/运行主要程序33.34.35. Time类成员变量:36. Boolean t = true;/模拟时钟必要成员变量37. int h = 0, m = 0, s = 0;/时分秒的成员变量38. Time类成员方法:39. void gettime(int a, int b, int c)/ 获得时分秒40. public void run()/时间增加方法41.42.43. Date类成员变量44. DATE拥有TIME中所有
10、成员变量和方法45. int y1 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/平年的月份天数46. int y2 = 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ;/ 闰年的月份天数47. int y = 0, mo = 0, d = 0;/年月日成员变量48.49.50. Date类成员方法51. void getdate(int a, int b, int c)/ 获得年月日52.53.54.55. DateTime类成员变量56. 继承了Date57. int gy,
11、 gmo, gd, gh, gm, gs;/格林威治时间的成员变量58. String name;/城市名称59. int ctime = 0;/时差60. int L = 0;/文本框组的下标61. DateTime类成员方法62. public String returnname()/返回城市名63. public int returnctmie()/返回时差64. void Gtimechange()/ 通过北京时间计算格林威治时间65. public void countrytime()/ 转换为国家时间66. public void countrytoGL()/ 通过国家时间计算格林
12、威治时间67. public void num(int i)/为L赋值68. public void startswap()/ 输出前的准备69. public void run()/方法重写,用于输出时间(1)主要框架:Frame “万年历”Panel万年历查询输入Panel万年历表Panel电子钟 Panel电子钟Panel计时器Panel万年历表Panel万年输入框(2) S3鼠标点击事件流程图创建DateTime对象XW,创建Calender类d。用d的方法获取年月日时分秒并用XW.gettime()和XW.getdate()为成员变量赋值。调用XW.Gtimechange()得出格林
13、威治时间调用XW.startswap()将得出时间赋值给时钟成员变量调用XW.countrytime()得出夏威夷时间信息输出开始(3)DateTime中run()方法图睡眠1S ,s+1s=60?yesnos=0,m+1m=60?yes nom=0,h+1h=24?yes yes nodmouthmo?d=1,mo+1h=0,d+1h=0,d+1nomo12?yes no输出信息到p文本框mo=1,y+1,判断新的y是闰年还是平年,并启用相应月份数组。3. 系统测试图1 输入2012年11月后得到的万年历表图2 输入时间显示电子钟图3 显示此时与北京的时差以及此时北京时间图4 显示此时与伦敦
14、的时差以及此时伦敦时间图4 显示此时与纽约的时差以及此时纽约时间图4 显示此时与莫斯科的时差以及此时莫斯科时间4. 软件使用说明书 1. 启动程序后出现万年历程序由万年历查询、电子钟、计时器三部分组成。2. 万年历表第一次显示的是当天的月表,红颜色的日期就是当天日期。3. 在输入年月出输入你要查找的年月,就能显示相应的年月表。4. 点击北京、伦敦、纽约、莫斯科按钮会在下方分别显示三个地区的国名、时差和时间。总 结(1)选题目的:本次课程设计为课本后设计题目任选一题进行设计。思考一段时间后,我决定做一个万年历的设计。主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很抓实,而对于设计
15、一个万年历程序,由于其功能简单设计也相对较易,对于我的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。(2)对于本程序的设计,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用哪些知识点,如相关的类和对象等。最后,就是根据初步设计的功能和布局构架,考虑用源代码进行实现了。经过了长时间的反复编写调试,课本和网上查阅相关资料相关文章,终于完成了整个课程设计。在这个过程中,在把书本上的知识给系统的复习了一下的同时,同时也发现了自己的太多不足,对JAVA语言整体知识构架不够熟悉,不能灵活地运用所学的知识点。自己的编程方式也不是很标准,
16、经常出现代码写错而调试很久的低级错误情况出现。 在王老师的带领下,通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度。还有通过设计过程中大量地查阅网络文章,对一些关键知识点逐个地了解并解决相关问题。所以网络这个强大的工具,确实是我们学习之中可以借助的一个很好的帮手。 参考文献1曲朝阳,杨杰明等.Java程序设计. 北京: 清华大学出版社,2008.102耿祥以,张跃平.Java大学生实用教程. 北京: 电子工业出版社,2012.
17、6 3明日科技.Java经典编程.北京:清华大学出版社,2012.104李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,2004.25王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990.致 谢通过近两周课程设计,使我们收益匪浅,让我学到了很多在课堂上难以学到的知识,如何运用基础知识来思考解决现实的问题。首先我们要感谢我院给我们安排的这次算法与数据结构课程设计实习,然后我更要感谢王老师对我热心的指导和帮助,是您教会了我如何思考和解决实际问题的方法,这样使得我的课程设计才会更加顺利地进行,并且充分掌握了设计程序的方法。经过王老师的精心指导和我自己的努力,我顺利地完成了课
18、程设计,在此,我衷心的感谢王老师对我的帮助!附件源程序代码import java.awt.Button;import java.awt.Color;import java.awt.Font;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.Panel;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.Actio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 万年历 报告 28
限制150内