




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计课程设计任务书一、设计目的Java课程设计是我院计算机科学与技术专业学生必做的集中实践性环节之一,是学习完Java程序设计课程后进行的一次全面的综合练习。其目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。二、 设计要求1、 学生必须独立完成设计任务,严禁抄袭或找人代做等行为,一经发现成绩以不及格计。2、 课程设计完毕应提交如下设计成果:源程序(打包成如下文档名:课题名称_本人学号_本人姓名.rar);可以直接执行的jar或exe文件;说明如何运行系统以及你在本系统中做何工作的readme.txt文件;文字描述不少于1000字(不含源码)的课程设计报告。三、课程设计报告格式课程设计报告分以下几部分:1、封面2、系统描述:介绍开发的系统的功能和解决的问题;3、分析与设计:主要包括以下内容:l 功能模块划分;l 数据库结构描述(数据库编程需要);l 系统详细设计文档(类的划分及相互关系,系统的流程图)l 各个模块的实现方法描述;l 测试数据及期望结果;4、源代码:要求源代码中间有适量的注释,且编码风格符合规范,源码格式为: (new roman 5号 单倍行距);5、总结:对设计中值得肯定的内容进行评价,客观地指出其中的不足,并说明克服或改进的办法。6、参考文献:参考文献的书写格式要符合如下规范(不得自己编造);a.期刊文献书写格式:作者论文篇名J期刊名出版年,卷(期如:高曙明自动特征识别技术综述J计算机学报1998,21(3)b.著作文献书写格式:作者书名M出版地:出版社,出版年如:刘勇,康立山,陈毓屏非数值并行算法(第二册)M北京:科学出版社,1998四、验收及评分标准验收内容包括:程序运行情况、课程设计报告(最迟在19周星期一发送到zyc_718163.com邮箱)及平时成绩三部分,最后成绩以等级分,即优、良、中、及格、不及格五个等级给出。各部分所占比例为:程序运行情况(40%)、课程设计报告(50%)、平时成绩(10%)五、参考题目序号课题名课题1日期计算器程序的开发课题2applet线程动画程序的开发课题3学生成绩管理系统的开发课题4图书信息管理系统的开发Java程序设计课程设计图形界面项目实验报告日期计算器 实验项目:日期计算器一、实验内容完成日期计算器的编写。二、实验要求1、理解并掌握图形界面的设计。2、理解整体算法的思路,即actionPerformed()的算法。3、输入日期,完成星期几的计算,并输出星期值(注意日期输入的合法性)4、输入日期加天数,完成日期加天数的计算,并输出新日期(注意日期的合法输入,以及注意日期不能加日期,既第二次输入的只能是天数)5、输入日期、减、以及天数或日期,如果为天数,计算日期减天数,否则计算日期减日期,得到新日期或相应天数差值,并输出。6、进一步学习JAVA的编程思想。三、实验目的1、理解并掌握图形界面的设计。2、理解整体算法的思路,即actionPerformed()的算法。3、输入日期,完成星期几的计算,并输出星期值(注意日期输入的合法性)4、输入日期加天数,完成日期加天数的计算,并输出新日期(注意日期的合法输入,以及注意日期不能加日期,既第二次输入的只能是天数)5、输入日期、减、以及天数或日期,如果为天数,计算日期减天数,否则计算日期减日期,得到新日期或相应天数差值,并输出。6、进一步学习JAVA的编程思想。四、实验条件编译器:JcreatorJava环境:JDK 6.0操作系统:Windows XP SP2五、思路分析1、为使程序美观,使用了多个JPanel和不同的LayoutManager(比如FlowLayout、BorderLayout、GridLayout)进行布局设计,同时限定了窗体的大小;2、封装了一个创建数字按钮的方法getNumberButton(int n),可以快速地进行增加数字按钮的操作;3、为将文本框中的字符串转换为日期编写了toDate()方法,其中包括日期输入错误的异常处理,此方法可以在保存当前日期、获取减法操作的日期时被复用;4、因为要实现键盘和鼠标的双重操作,将操作时使用的几个方法(pressButtonpressEqualButtonpressOPButton 等)封装起来,使其可供多个监听器调用;5、为能通过键盘操作,对所有按钮注册了监听器;6、为判断当前是否处于输入状态(否则处于程序提示状态),使用布尔型属性inputing标记当前状态,当其为false时,向文本框中输入字符会先清空文本框;7、为实现+-操作、使用了plus和minus两个布尔型属性来标记当前状态,同时使用一个Calendar属性保存当前日期,在每步操作时都对其进行改变,最后=时输出。8、考虑到可能存在多次连续+-操作,设计了更完善的算法。六、程序代码【DateCalculator.java】1. import java.awt.*;2. import java.awt.event.*;3. import java.text.SimpleDateFormat;4. import java.util.Calendar;5. import java.util.Date;6. import javax.swing.*;7. 8. /*9. * 日期计算器10. * 11. * author Cyin12. * author Lee13. * author YOYO14. * author Skittles15. * 16. * since 2010-10-2417. * version 0.118. * 19. */20. public class DateCalculator extends JFrame 21. 22. /*23. * 主面板24. */25. JPanel context = new JPanel();26. 27. /*28. * 三个子面板29. */30. JPanel displayPanel = new JPanel();31. JPanel numPanel = new JPanel();32. JPanel opPanel = new JPanel();33. 34. /*35. * 结果文本框36. */37. JTextField result = new JTextField(0,20);38. 39. /*40. * 主要按钮41. */42. JButton btnCE = new JButton(CE);43. JButton btnPlus = new JButton(+);44. JButton btnMinus = new JButton(-);45. JButton btnEqu = new JButton(=);46. JButton btnX = new JButton(/);47. 48. /*49. * 是否在输入日期或天数状态的标记50. */51. boolean inputing = false;52. 53. /*54. * 是否在进行+-操作的标记55. */56. boolean plus = false;57. 58. /*59. * 是否在进行-操作的标记60. */61. boolean minus = false;62. 63. /*64. * 当前日期65. */66. Calendar calendar = Calendar.getInstance();67. 68. /*69. * 键盘监听器70. */71. KeyboardListener keyListener = new KeyboardListener();72. 73. /*74. * 按钮监听器75. */76. ButtonActionListener btnListener = new ButtonActionListener();77. 78. /*79. * 构造器80. */81. public DateCalculator()82. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);83. this.setSize(260,220);84. this.setTitle(日期计算器); 85. this.setResizable(false);86. 87. this.setLayout(new FlowLayout();88. this.add(context);89. 90. initWindow();91. 92. this.setVisible(true);93. 94. 95. /*96. * 初始化窗体97. */98. private void initWindow()99. context.setLayout(new BorderLayout(10,10);100. 101. / 显示面板102. displayPanel.setLayout(new FlowLayout(FlowLayout.CENTER);103. displayPanel.add(result);104. result.setHorizontalAlignment(JTextField.RIGHT);105. result.setFocusable(false);106. context.add(displayPanel,North);107. 108. / 数字面板109. numPanel.setLayout(new GridLayout(4,3,5,5);110. for(int i=1;i=0&ch=9|ch=/)353. pressButton(String.valueOf(ch);354. 355. if(ch=)356. pressEqualButton();357. 358. if(ch=+|ch=-)359. pressOPButton(String.valueOf(ch);360. 361. 362. 363. 364. 365. 366. /*367. * 入口方法368. * param args369. */370. public static void main(String args) 371. new DateCalculator();372. 373. 374. 七、调试与运行情况输入日期,再输入=或按下=按钮(左图操作,右图结果): 加上100天(左图操作,右图结果): 减去800天(左图操作,右图结果): 减去16年2月15日(左图操作,右图结果): 八、存在问题1、由于不知道如何进行全局的键盘监听,目前只是对所有按钮注册了监听器;2、如果经过减操作之后的日期是公元前的日期,结果依然会显示为公元年份。九、实验小结1、理解并掌握了图形界面的设计。2、理解了整体算法的思路,即actionPerformed()的算法。3、进一步学习了JAVA的编程思想。Java程序设计课程设计applet线程动画实验实验报告 实验项目:applet线程动画实验一、实验内容1、自行设计一个动画片或其他线程应用程序。二、实验目的1、理解并掌握applet的设计。2、理解并掌握Thread的设计。3、理解并掌握Graphics的使用。4、进一步学习JAVA的编程思想。三、实验条件编译器:JcreatorJava环境:JDK 6.0操作系统:Windows XP SP2四、思路分析1、要播放动画必须新建一个该动画的线程,实现它的paint()方法,描述各个时期应该重绘的内容,启动该线程即开始播放动画;2、要控制圆放大缩小,就要定义它的最大、最小半径,以及当前变化状态(放大、缩小);3、已知圆心坐标(x,y),半径r,可得圆的左上角坐标为(x-r/2,y-r/2);4、为使动画加快或放慢速度,可适当调节线程run方法中repaint后的线程休眠时间。为更好地体现动画效果,这里设置为80ms;5、为在实心圆外绘制多个圆框延续到最大半径,用一个循环绘制,每个间距离为10。五、程序代码【ThreadApplet.java】1. import java.applet.*;2. import java.awt.*;3. 4. /*5. * applet线程动画实验6. * author Cyin7. * author Lee8. * author Komi9. * author Skittles10. * since 2010-10-2411. * version 1.012. */13. public class ThreadApplet extends Applet implements Runnable 14. 15. /*16. * 圆心x坐标17. */18. private int x = 0;19. 20. /*21. * 圆心y坐标22. */23. private int y = 0;24. 25. /*26. * 圆当前半径27. */28. private int r = 0;29. 30. /*31. * 圆最小半径32. */33. private int minR = 0;34. 35. /*36. * 圆最大半径37. */38. private int maxR = 0;39. 40. /*41. * 圆的颜色42. */43. private Color color = Color.black;44. 45. /*46. * 圆当前变化的方向:true为放大,false为缩小47. */48. private boolean direc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第4课 使用图表说课稿-2023-2024学年小学信息技术(信息科技)六年级下册粤科版
- 16.2二次根式的乘除第二课时 说课稿 2024-2025学年人教版数学八年级下册
- 八年级地理上册 第四章 第一节《交通运输》说课稿1 (新版)新人教版
- 第3节 液压传动与曲柄连杆传动说课稿-2025-2026学年高中物理鲁科版选修2-2-鲁科版2004
- 体育说课稿(男生1000长跑测验)
- Welcome to the unit教学设计-2025-2026学年初中英语译林版2024八年级上册-译林版2024
- 申报书课题背景素材
- 青创项目课题申报书
- 大型商超采购合同法律风险防控
- 古蜀道文化课题申报书
- 拔罐疗法课件
- 2025-2030中国单轴激光陀螺行业市场发展趋势与前景展望战略研究报告
- DB11-T 2429-2025 补充耕地质量调查与评价技术规范
- 热射病护理病例讨论
- 软装事业部成本控制计划
- 光伏土建培训课件
- 安全生产的三管三必须是什么
- 大米直播促销活动方案
- 过敏反应的防治与治疗讲课件
- 2025至2030年中国石油石化装备制造行业市场现状分析及投资前景研判报告
- 物流运输规章管理制度
评论
0/150
提交评论