资源描述:
《java打字训练课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件学院课程设计报告书课程名称设计题目专业班级学号姓名指导教师年月目录1设计时间12设计目的13设计任务14设计内容14.1需求分析14.1.1问题描述14.1.2基本要求14.2总体设计14.2.1包的描述14.2.2类的描述24.2.3类之间的关系24.3详细设计24.3.1类图34.3.2页面设计35功能模块的实现35.1程序代码36运行与实现127总结与展望19参考文献20成绩评定201设计时间2014年6月16日-2014年6月20日2设计目的随着科学技术的不断提高,计算机科学目渐成熟,计算机怩深入到工作和生活的各个角落
2、,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这样一个小程序,同时也是我的面向对象程序设计的课程设计。希望能对电脑初学都和想提高打字速度的朋友们有所帮助。本系统构建学生打字练习系统,基于所开发的打字程序界面友好,图形复杂。打字练习程序中应用到eclipse最新版本,java1.6以上版本的jdk。对于打字测试进入整体的部署。完成打字练习程序开发,培养程序设计和开发能力。3设计题目设计一个英文打字测试软件。从文件中调入英文录入材料,最后可以给出错误
3、率,平均录入速度。4设计内容4.1需求分析4.1.1问题描述设计一个英文打字测试软件4.1.2基本要求1.文件中调入英文录入材料2.最后给出错误率3.最后给出平均录入速度4.2总体设计4.2.1包的描述19由于本次实验使用的类较少,所有的类都建在同一个包下,本次试验也只用到了一个包。4.2.2类的描述EnglishGame类:主要构造都在这里完成。MyKey类:是该程序的一个内部类。4.2.3类之间的关系EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框
4、,开始英文打字功能。从而达到打字训练测试的目的。4.3详细设计4.3.1类图图1EnglishGame类图19图2MyKey类图4.3.2页面设计页面设计分为一个选择框可以选择“退出”,“简单”,“困难”,“普通”四个部分,然后分上下两个框是输入内容与原内容相比,最后显示测试结果框。5功能模块实现5.1程序代码importjava.awt.Color;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.event.
5、ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.io.File;importjava.io.FileReader;importjava.util.Date;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing
6、.JPanel;importjavax.swing.JTextPane;importjavax.swing.SwingUtilities;//所使用的包19publicclassEnglishGameimplementsActionListener{privatestaticJFramef=newJFrame("英文打字游戏");privatestaticContainercon=f.getContentPane();JPanelmainPanel,panel0,panel1,panel2,panel3,panel4,panel5
7、,panel6,panel7;JButtonbutton1,button2,button3,button4,button,button5,button6;JTextPanetp1,tp2;FileReaderfr;Filefrr;Datedate1,date2;intnum,len1,len2,count;longtime;doublerightrate;char[]ch;publicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubStringcmd=
8、e.getActionCommand();date1=newDate();if(cmd.equals("6.退出")){System.exit(0);}elseif(cmd.equals("返回")){}19else{JFramef1=newJFr