欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    万年历java课程设计说明书.docx

    • 资源ID:12275703       资源大小:38.38KB        全文页数:17页
    • 资源格式: DOCX        下载积分:8金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    万年历java课程设计说明书.docx

    1、万年历java课程设计说明书 JAVA程序设计 课程设计(论文)题 目: 万 年 历 院(系): 软 件 学 院 专业班级: 计算机信息管理051班 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 程序设计专题(报告)任务及评语院(系):软件学院 教研室:软件教研室学 号学生姓名专业班级程序设计(报告)题目万年历程序设计(报告)任务程序设计专题的任务与要求:(1)掌握Java编程、面向对象的基础知识。(2)较熟练地编写Java应用程序Application。(3)了解Java的常用标准类库、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。(6)通过设计主

    2、要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。指导教师评语及成绩成绩: 指导教师签字: 2007 年 6 月 13 日目 录第1章 课程设计的目的与要求 11.1 课程设计目的 11.2 课程设计的实验环境 11.3 课程设计的预备知识 11.4 课程设计要求 1第2章 课程设计内容 22.1课程设计题目 22.2课程设计整体设计说明 22.

    3、2.1课程设计内容 22.2.2程序中所用类说明 32.2.3程序中使用方法的说明 32.2.4异常处理说明 42.2.5程序运行效果及存在的问题 42.3程序部分源代码及注释 5第3章 课程设计总结 12参考资料 13第1章 课程设计的目的与要求1.1 课程设计目的JAVA程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机信息管理专业学生学习完JAVA程序设计课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基

    4、本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。1.3 课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编

    5、写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。第2章 课程设计内容2.1课程设计题目万年历2.2课程设计整体设计说明 这次课程设计是制作一个万年历能显示出当前时间和当月月历,并且可以查看1-9999 年每个月的月历。选择年月查看每月日历。并且能显示当前系统时间和某天是星期几。可以点击年份后的选择年,月份后的选择月,点查看按钮查看该月的日历。这次我使用的编程语言是JAVA语言。我采用的编译环境是Windo

    6、ws 2003中文版+J2SDK1.6.0中文版+Eclipse3.2.1+ Eclipse3.2.1中文语言包+SWT designer5.1.0 使用JAVA语言及SWT进行可视编辑完成该功能。2.2.1课程设计内容(一)安装编译环境(1)安装Java开发包:jdk1.6.0 :运行j2sdk1.6.0.exe程序。(2)安装Eclipse :将下载的Eclipse压缩包eclipse-SDK-3.2.1-win32.zip解压到指定目录下。(3)汉化Eclipse:将下载的汉化压缩包NLpack1-eclipse-SDK-3.2.1-win32.zip按原路径解压即可,也就是直接覆盖ec

    7、lipse文件下的features、plugins两个文件夹。(4)安装SWT designer:将下载的压缩包按原路径解压即可,也就是直接覆盖eclipse文件夹下的features、plugins两个文件夹。(二)进入Eclipse:双击Eclipse图标,进入Eclipse。(三)打开Eclipse,首先选择工作空间,点击“浏览”选择路径:“我的文档课程设计”。(四)新建SWT项目: Eclipse中选择菜单项:文件 新建 项目DesignerSWT/JFace Java Project 在弹出的对话框中输入项目名称:“Kechengsheji”并设置各项参数。(五)新建包:选择菜单项:

    8、文件 新建 包,包的名称为“lizhiyong”,按“确定”按钮,新建包。 (六)在“包资源管理器”视图中,选择 lizhiyong 项目。单击菜单项:文件新建文件 在弹出的对话框中输入文件名MainFrame.java 同样再建立Clock.java。(七)打开MainFrame.java 新建并设计主窗体类MainFrame。(八)打开Clock.java 新建并设计当前时钟类Clock。(九)调试:选择菜单项:运行调试调试方式SWT应用程序,找出错误并改正,直到调试成功。 (十)运行程序看结果:菜单项:运行运行运行方式SWT应用程序,运行程序看结果,验证是否与期待结果相同。2.2.2程序

    9、中所用类说明MainFrame 主窗体类:设计显示月历和时间及年份和月份选择按钮及查看按钮。Clock 当前时间类:从系统中提取当前时间并以yyyy年MM月dd日hh:mm:ss显示。2.2.3程序中使用方法的说明MainFrame类中方法:MainFrame():MainFrame类的构造函数,设置窗体属性Init()显示月历方法use():取查询月份第一天星期的方法Resetday():运算是否闰年及各个月天数的方法main():主方法程序在此开始执行Clock 类中方法:Clock():Clock类的构造函数run():每秒取一次系统时间paint():在主窗体上显示当前时间的方法get

    10、Time():提取系统时间的方法2.2.4异常处理说明异常是异常事件的简称,它定义为在执行程序过程中出现了不正常的事件,破坏了正常的指令流。Java语言如果出现异常就要进行异常处理。Clock类中有段代码含有异常处理。 try t.sleep(1000);/休眠1秒钟 catch(InterruptedException e) System.out.println(异常); 很多 Java 语言方法,如 Thread.sleep()可以抛出 InterruptedException异常。程序需要暂停一段时间,于是调用 t.sleep(1000)休眠一秒。(t.sleep(1000)是Threa

    11、d.sleep()的一个实例。)所以我在使用这个方法时先try捕获异常,然后catch处理异常(如果出现异常显示提示信息:“异常”)。2.2.5程序运行效果及存在的问题 在ECLIPSE下编译运行的效果如图。可以选择年月查看每月日历。并且能显示当前系统时间和某天是星期几。可以点击年份后的选择年,月份后的选择月,点查看按钮查看该月的日历。 存在的问题:在进行代码的调试的时候,代码有的地方少了输入有误,有的少了标点,有的方法引用不当,最重要的是版本不正确而导致不能运行程序中的部分包。但经过细心的调试,认真的解读有了很好的改观,错误从十几处,减到无错误,便已成功,最后被圆满的完成课设。功能上存在的问

    12、题就是不能显示出农历效果,当然农历的算法比较复杂,就连Microsoft Windows系统的时间/日期功能也没有提供农历的效果。2.3程序部分源代码及注释MainFrame.java 源代码package lizhiyong;/包:lizhiyongimport javax.swing.*;/引入包import java.awt.*; /引入包import java.awt.event.*; /引入包import java.text.*; /引入包import java.util.*; /引入包class MainFrame extends JFrame /建立MainFrame类 JPan

    13、el panel=new JPanel(new BorderLayout();/设置窗体属性 JPanel panel1=new JPanel();/设置窗体属性 JPanel panel2=new JPanel(new GridLayout(7,7); /设置窗体属性 JPanel panel3=new JPanel();/设置窗体属性 JLabel label=new JLabel49; /设置窗体属性 JLabel y_label=new JLabel(年份);/设置窗体属性 JLabel m_label=new JLabel(月份);/设置窗体属性 JComboBox com1=new

    14、 JComboBox();/设置窗体属性 JComboBox com2=new JComboBox();/设置窗体属性 JButton button=new JButton(查看);/设置窗体属性 int re_year,re_month;/定义变量:年,月 int x_size,y_size;/定义变量:位置x坐标,y坐标 String year_num;/定义字符串类型变量year_num Calendar now=Calendar.getInstance();/实例化Calendar MainFrame()/编写构造函数,设置窗体属性 super(万年历);/标题:万年历 setSize

    15、(300,350);/大小:300*350x_size=(int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth();/设置x坐标位置y_size=(int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight();/设置y坐标位置 setLocation(x_size-300)/2,(y_size-350)/2); /设置位置 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置关闭按钮 panel1.add(y_label);/

    16、设置标签及按钮 panel1.add(com1); /设置标签及按钮 panel1.add(m_label); /设置标签及按钮 panel1.add(com2); /设置标签及按钮 panel1.add(button); /设置标签及按钮 for(int i=0;i 49;i+) labeli=new JLabel(,JLabel.CENTER);/将显示的字符设置为居中 panel2.add(labeli); panel3.add(new Clock(this); panel.add(panel1,BorderLayout.NORTH); panel.add(panel2,BorderLa

    17、yout.CENTER); panel.add(panel3,BorderLayout.SOUTH); panel.setBackground(Color.white); /设置背景颜色:白色 panel1.setBackground(Color.white); /设置背景颜色:白色 panel2.setBackground(Color.white); /设置背景颜色:白色 panel3.setBackground(Color.white); /设置背景颜色:白色 Init();/调用Init方法显示日历 button.addActionListener(new ActionListener(

    18、)/设置按钮代码 public void actionPerformed(ActionEvent e) int c_year,c_month,c_week; c_year=Integer.parseInt(com1.getSelectedItem().toString();/得到当前所选年份 c_month=Integer.parseInt(com2.getSelectedItem().toString()-1; c_week=use(c_year,c_month);/调用函数use,得到星期几 Resetday(c_week,c_year,c_month);/调用函数Resetday );

    19、setContentPane(panel);/设置按钮属性 setVisible(true); /设置按钮属性 setResizable(false); /设置按钮属性 public void Init()/建立Init方法显示日历 int year,month_num,first_day_num; String log=日,一,二,三,四,五,六; for(int i=0;i 7;i+) labeli.setText(logi);/显示日,一,二,三,四,五,六 for(int i=0;i 49;i=i+7) labeli.setForeground(Color.red);/将星期日的日期设

    20、置为红色 for(int i=6;i 49;i=i+7) labeli.setForeground(Color.green);/将星期六的日期设置为绿色 for(int i=1;i 10000;i+) com1.addItem(+i); for(int i=1;i 13;i+) com2.addItem(+i); month_num=(int)(now.get(Calendar.MONTH);/得到当前时间的月份 year=(int)(now.get(Calendar.YEAR);/得到当前时间的年份 com1.setSelectedIndex(year-1);/设置下拉列表显示为当前年 co

    21、m2.setSelectedIndex(month_num);/设置下拉列表显示为当前月 first_day_num=use(year,month_num);/计算第一天是星期几 Resetday(first_day_num,year,month_num);/计算是否闰年 public int use(int reyear,int remonth)/建立use方法 int week_num; now.set(reyear,remonth,1);/设置时间为所要查询的年月的第一天 week_num= (int)(now.get(Calendar.DAY_OF_WEEK);/得到第一天的星期 re

    22、turn week_num;/返回星期数 public void Resetday(int week_log,int year_log,int month_log) int month_score_log;/判断是否是闰年的标记 int month_day_score;/存储月份的天数 int count; month_score_log=0; month_day_score=0; count=1; if(year_log%4=0&year_log%100!=0|year_log%400=0)/判断是否为闰年 month_score_log=1;/标记为闰年 month_log=month_l

    23、og+1;/将传来的月份数加1 switch(month_log)/判断该月天数 case 1: case 3: case 5: case 7: case 8: case 10: case 12: month_day_score=31;/1、3、5、7、8、10、12月 天数设置为31天 break; case 4: case 6: case 9: case 11: month_day_score=30;/4、6、9、11月 天数设置为30天 break; case 2: if(month_score_log=1) month_day_score=29; /闰年2月 天数设置为29天 else

    24、 month_day_score=28; /平年2月 天数设置为28天 break; for(int i=7;i 49;i+)/初始化标签 labeli.setText(); week_log=week_log+6;/将星期数加6,使显示正确 month_day_score=month_day_score+week_log; for(int i=week_log;i month_day_score;i+,count+) labeli.setText(count+); public static void main(String args)/主方法 JFrame.setDefaultLookAn

    25、dFeelDecorated(true); MainFrame start=new MainFrame(); Clock.java源代码package lizhiyong; /包:lizhiyongimport javax.swing.*; /引入包import java.awt.*; /引入包import java.awt.event.*; /引入包import java.text.*; /引入包import java.util.*; /引入包class Clock extends Canvas implements Runnable/建立Clock类显示当前时间 MainFrame mf;

    26、 Thread t; String time; Clock(MainFrame mf) this.mf=mf; setSize(400,40);/设置窗体大小400*40 setBackground(Color.white);/设置背景颜色:白色 t=new Thread(this);/实例化线程 t.start();/调用线程 public void run()/建立run方法每秒更新时间 while(true) try/捕获异常 t.sleep(1000);/休眠1秒钟 catch(InterruptedException e)/处理异常 System.out.println(异常); t

    27、his.repaint(100); public void paint(Graphics g)/建立paint方法显示当前时间 Font f=new Font(宋体,Font.BOLD,16); /设置字体 SimpleDateFormat SDF=new SimpleDateFormat(yyyy年MM月dd日HH:mm:ss);/格式化时间显示类型 Calendar now=Calendar.getInstance(); time=SDF.format(now.getTime();/得到当前日期和时间 g.setFont(f); g.setColor(Color.orange); /设置背

    28、景颜色:橙色 g.drawString(time,100,25); 第3章 课程设计总结通过这次课程设计,加强了我对JAVA语言的理解,使课堂上的理论在实践中得到运用。我对JAVA程序设计这门程序设计语言进行了一次完整的学习与实践。对JAVA的常量、变量、运算、类、流程、SWT、窗体和Applet进行了复习与实践,综合运用所学知识,系统的进行了一次软件工程开发,完成了课程设计的任务,并在实践应用方面打下一定基础。这次课程设计,使我对本门课程有了更深一步的理解,JAVA程序设计并不是简单的计算机语言,它能够延伸到更宽更广的领域。学好这些知识也能为自己在以后学习动态网页制作打下坚实的基础。在掌握J

    29、AVA语言程序设计的理论知识的基础上,我能够结合实际,设计编程,调试运行JAVA语言程序,完成课程设计论文。为了能够较好地完成本次课程设计,我进行了阅读教材,网上搜索,到图书馆查找相关资料等准备工作,在做课程设计的过程中,我在利用所学知识的同时,又学到了很多实例化的理论知识和软件工程的一些实践。总结了一些经验和方法。强化了我的实际动手能力。同时也找到自己的不足。我一定会继续学习增加自己的编程能力和调试能力,在今后的学习中我会更加的努力,增加自己的知识储备。拓宽了知识面,锻炼了能力,综合素质得到较大提高。最后感谢老师给予的耐心指导与帮助,使我能顺利完成这次课程设计。 参考资料1 宋振会.JAVA语言编程基础教程. 北京:清华大学出版社, 2005-52 耿祥义.JAVA大学实用教程. 北京:电子工业出版社, 2005-33 耿祥义.JAVA大学实用教程实验指导.北京 :电子工业出版社, 2005-34 美Cay S.Horstmann,程峰.JAVA2核心技术. 北京 : 机械工业出版社, 2003-35 魏永继.JAVA应用程序开发. 北京 :机械工业出版社, 2007-26 王雪轻.JAVA入门与提高. 北京 :人民邮电出版社, 2004-27 孟繁新.Eclipse实例开发与应用. 沈阳 :东北大学出版社, 2005-18


    注意事项

    本文(万年历java课程设计说明书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开