ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:600.70KB ,
资源ID:10109072      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10109072.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(打字测试软件课程设计报告书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

打字测试软件课程设计报告书.docx

1、打字测试软件课程设计报告书软 件 学 院课程设计报告书课程名称 面向对象课程设计 设计题目 打字训练测试软件 专业班级 学 号 姓 名 指导教师 2014 年 6 月1 设计时间2014年6月16日2014年6月20日2 设计目的1.熟练掌握Java面向对象程序设计的基础知识2。熟练掌握Java中常用的Awt组件的使用方法3。通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。3 设计题目打字测试软件4设计任务打字测试软件。要求如下:(1)使用图形用户界面实现;(2)从文件中调入英文录入材料;(3)打字结束后给出错

2、误率,录入时间。5设计内容5。1需求分析设计一个英文打在测试软件5。2基本要求1。文件中调入英文录入材料2。最后给出错误率3。最后给出平均录入速度6 功能模块实现6。1包的描述 由于本次实验使用的类较少,所有的类都建在同一个包下,本次实验也只用到一个包。6。2类的描述 Typing类:主要的构造都在这个类中。 My key类:是该程序的一个内部类。6.2.1类之间的关系 Typing类作为主函数的入口,调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能;从而达到打字训练测试的目的. 6.2.2类图如图6-1所示图61 类图6.3页面设计f

3、inal String TITLE = ”光速打字系统; private Frame f; private Button btStart,btContinue; private Panel pnEast,pnCenter,pnNorth; Font fontTitle=new Font(黑体”,Font.BOLD,30); Font fontButton=new Font(宋体”,Font。BOLD,24); private Label lbMessage,lbTitle; /tfSource用于显示要练习的文字,tfInput 用户输入框 private TextArea taSource,

4、taInput; /总字数和错误的字数 private long wordCount,inputWordCount,rightWordCount; /开始,结束时间,用户练习所用的时间 private long startTime,overTime,userTime; /* 初始化控件 */ private void start() f = new Frame(TITLE+ by 牛帅); /窗体标题 f.setSize(600,430); f。setResizable(false);/禁止调整窗体的大小 pnEast = new Panel(); pnCenter = new Panel()

5、; btStart =new Button(开始”); btStart。setFont(fontButton); btContinue = new Button(完成); btContinue。setFont(fontButton); taSource = new TextArea(10,60); /taSource。 lbTitle = new Label(TITLE); lbTitle.setFont(fontTitle); /taSource.setEnabled(false); taSource。setEditable(false); pnNorth = new Panel(); lb

6、Message = new Label(想练习打字的话,请先点击开始按钮哦!”); taSource.setText(想练习打字的话,请先点击开始按钮哦!”); taInput = new TextArea(10,60); taInput.setText(”欢迎使用+TITLE); btContinue.setEnabled(false); /窗体布局 /窗体使用默认的GridLayout布局 f.add(pnNorth,North”); pnNorth。add(lbTitle); /pnEast。add(lbMessage,South”); f。add(lbMessage,”South);

7、f。add(pnEast,East”); pnEast.add(btStart); pnEast。add(btContinue); f。add(pnCenter,”Center”); pnCenter.add(taSource); pnCenter。add(taInput); /添加监听器 f.addWindowListener(new ClosingWindow();/启用窗体的功能按钮 btStart。addMouseListener(new ButtonHandler(); btContinue。addMouseListener(new ButtonHandler(); f。setVis

8、ible(true); 如图6-2所示图62 打字测试软件界面图6。4测试文字的加入 程序中,通过随机读取当前项目下的txt文件,随机方式是用Random()生0-3之间的数,添加“。txt”后缀,文件位置如图6-3所示。图6-3 文件位置图代码实现部分:if (e。getSource() = btStart) /获取练习用的文字 file = rd.nextInt(3)+”.txt; /System.out。println(”打开的文件是:”+file); taSource.setText(fileToString(text/”+file)); taInput.setText(); lbMe

9、ssage。setText(亲,您现在可以练习了!加油!”); startTime = System.currentTimeMillis(); btStart。setEnabled(false); btContinue.setEnabled(true); 6.5测试时间设计 为了能够更方便地设置时间,在程序中用startTime,overTime,userTime三个变量来保存时间。startTime是用来保存用户开始测试的系统时间,overTime是用来保存用户结束测试时的系统时间,相减得到用户测试所用的总时间(userTime).通过startTime = System.currentTi

10、meMillis() 获得当前系统的时间。6.6程序源代码package buttonAction02;/* 已经实现了按钮的单击事件了 * 练习资料是以txt文件形式放在项目目录下text目录里 * */import java。awt。*;import java.awt。event。;import java.util。Random;import java。io.;public class Typing final String TITLE = 光速打字系统; private Frame f; private Button btStart,btContinue; private Panel p

11、nEast,pnCenter,pnNorth; Font fontTitle=new Font(”黑体,Font.BOLD,30); Font fontButton=new Font(”宋体”,Font。BOLD,24); private Label lbMessage,lbTitle; /tfSource用于显示要练习的文字,tfInput 用户输入框 private TextArea taSource,taInput; /总字数和错误的字数 private long wordCount,inputWordCount,rightWordCount; /开始,结束时间,用户练习所用的时间 pr

12、ivate long startTime,overTime,userTime; /* 初始化控件 / private void start() f = new Frame(TITLE+” by 曹世龙”); /窗体标题 f.setSize(600,430); f。setResizable(false);/禁止调整窗体的大小 pnEast = new Panel(); pnCenter = new Panel(); btStart =new Button(”开始”); btStart。setFont(fontButton); btContinue = new Button(完成); btCont

13、inue.setFont(fontButton); taSource = new TextArea(10,60); lbTitle = new Label(TITLE); lbTitle.setFont(fontTitle); /taSource。setEnabled(false); taSource。setEditable(false); pnNorth = new Panel(); lbMessage = new Label(”想练习打字的话,请先点击开始按钮哦!”); taSource。setText(想练习打字的话,请先点击开始按钮哦!”); taInput = new TextAre

14、a(10,60); taInput.setText(欢迎使用+TITLE); btContinue。setEnabled(false); /窗体布局 /窗体使用默认的BorderLayout布局 f。add(pnNorth,”North); pnNorth。add(lbTitle); /pnEast.add(lbMessage,”South); f。add(lbMessage,South”); f.add(pnEast,”East”); pnEast.add(btStart); pnEast.add(btContinue); f.add(pnCenter,”Center”); pnCenter

15、。add(taSource); pnCenter.add(taInput); /添加监听器 f。addWindowListener(new ClosingWindow());/启用窗体的功能按钮 btStart.addMouseListener(new ButtonHandler()); btContinue.addMouseListener(new ButtonHandler(); f.setVisible(true); /* 接收按钮的事件 */ class ButtonHandler extends MouseAdapter public void mouseClicked(MouseE

16、vent e) String file; Random rd = new Random(); if (e。getSource() = btStart) /获取练习用的文字 file = rd.nextInt(3)+”。txt; /所有的测试文字,都以txt文件形式保存在当前目录下的text目录里 * 通过随机读取当前项目下的txt文件获取内容 */ taSource.setText(fileToString(text/”+file); taInput.setText(”); lbMessage。setText(亲,您现在可以练习了!加油!!); /用currentTimeMillis方法来获得

17、当前系统的时间 startTime = System.currentTimeMillis(); btStart.setEnabled(false); btContinue。setEnabled(true); else if(e.getSource()=btContinue) overTime = System.currentTimeMillis(); wordCount=taSource。getText()。length(); inputWordCount=taInput.getText().length(); /用于判断用户是否输入了文字 if(inputWordCount = 0) lbM

18、essage。setText(”貌似你什么也没输入呀!); else /计算用户所用的时间,并转换成以秒为单位 userTime = (overTime-startTime)/1000; /统计错误的文字数 rightWordCount=rightWordCount(taSource.getText(),taInput。getText()); lbMessage.setText(”亲 ,打字练习结束了哦!您共用了+userTime+”秒,总字数为:”+wordCount+您正确输入了”+rightWordCount+”正确率为+(rightWordCount*1.0)/(wordCount1。

19、0)); btStart。setEnabled(true); btContinue.setEnabled(false); private int rightWordCount(String str,String strSub) int count = 0; /由于思维不严谨,语句中本应该是&符,我错用了|符, /所以测试时一直有问题, for(int i=0;istr。length()&istrSub。length();i+) /统计的是正确的总数!! if(str.charAt(i)=strSub。charAt(i))count+; return count; /* 给窗体上的控制按钮启用监

20、听器 / class ClosingWindow extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); public static void main(String args) Typing fm = new Typing(); fm.start(); / 传入一个文件名,方法以字符串形式返回文件的内容 / public String fileToString(String filePath) int n = 0,i = 0; byte data = new byte1024; FileIn

21、putStream f = null; try f = new FileInputStream(filePath); catch (FileNotFoundException e) / TODO Autogenerated catch block e.printStackTrace(); try n = f.read(); catch (IOException e) / TODO Autogenerated catch block e。printStackTrace(); while(n!=-1) datai = (byte)n; i+; try n = f.read(); catch (IO

22、Exception e) / TODO Autogenerated catch block e.printStackTrace(); String str = new String(data,0,i); /close file try f.close(); catch (IOException e) / TODO Autogenerated catch block e。printStackTrace(); return str;7 运行与测试 7.1当用户没有输入文字时界面图,如图7-1所示图7-17.2当用户输入一部分文字后,点击完成,程序会给出结果,如图72所示图7-28总结与展望 在课程

23、设计的过程中,我用到了java中awt的各种控件和布局方法,又通过查阅资料和向同学、老师求教,学会了一些没接触过的东西,如设置字体,和调用系统时间等。遇到问题时总和同学讨论,学到了很多经验和方法,同时还增加了学习的兴趣.在主动查阅资料和求教的过程中,不但提高了学习能力,还促进了同学之间团结互助的关系。 目前,系统中还存在以下问题: 1.用户完成测试后所得的正确率小数位太长。 2。界面不够美化,也不够人性化,比如在输出结果时,可以将用户的成绩以信息框的形式显示。 3.程序功能过于简单,只能读取固定的几个文件,可以再增加用户自选文章的内容。参考文献1刘万军,郑少京,王松波.Java6程序设计实践教程M.北京:清华大学出版社,2009。52BruceEckel.Java编程思想M.第二版,北京,高等教育出版社,2005。43CayS。Horstmann,Java核心技术J,第八版,电子工业出版社,2004.64数据库原理及应用教程。陈志泊主编.人民邮电出版社5数据库实验指导。杨海霞等编著。人民邮电出版社成绩评定成绩 教师签字

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1