打字测试软件报告

上传人:xmg****18 文档编号:145354147 上传时间:2020-09-19 格式:DOC 页数:12 大小:382.50KB
返回 下载 相关 举报
打字测试软件报告_第1页
第1页 / 共12页
打字测试软件报告_第2页
第2页 / 共12页
打字测试软件报告_第3页
第3页 / 共12页
打字测试软件报告_第4页
第4页 / 共12页
打字测试软件报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《打字测试软件报告》由会员分享,可在线阅读,更多相关《打字测试软件报告(12页珍藏版)》请在金锄头文库上搜索。

1、. . . 课 程 设 计课程设计名称: Java课程设计 专 业 班 级 : 计科卓1101 学 生 姓 名 : 侯心想 学 号 : 5 指 导 教 师 : 王社伟 课程设计时间: 2013.6.10-2013.6.21 . . 打字测试软件 一、需求分析 设计一个英文打字测试软件,要求: 1. 文件中调入英文录入材料; 2. 显示错误率; 3.显示平均录入速度。二、概要设计模块图 主程序窗口容易简单困难退出系统流程图主程序窗口选择按钮容易普通困难选择按钮以后,程序自动弹出测试窗口,然后在新窗口内进行以下操作。点击选择文章选择过文章以后,开始便可开始对照文章,在文本框内进行打字练习。点击结束

2、练习,程序自动弹出测试结果退出程序关闭测试窗口三、运行环境、开发语言运行环境:JDK1.6开发语言:Java四、详细设计1 程序清单 表1程序清单文件名功能Test显示程序主窗口,实现在窗口添加按钮事件与键盘事件。 Xian实现添加文本到指定文本框,实现将输入文本与指定文本比较,从而得出错误率与平均输入率。表2 函数清单函数名功能add创建主界面窗口,添加按钮actionPerformed响应按钮事件shixian创建新窗口,添加按钮事件getFileContent将文本从文件中取出jisuan计算输入错误率和平均输入率2 主要代码2.1程序主窗口的设计图1主程序窗口界面public void

3、 add()throws Exceptionp1=new JPanel();p2=new JPanel();b1=new JButton(容易);b2=new JButton(普通);b3=new JButton(困难);b=new JButton(退出); l=new JLabel(new ImageIcon(1.jpg.png);/在窗口中间插入图片con.add(p1,North);con.add(p2,Center);GridLayout g=new GridLayout(2,2,5,5);p1.setLayout(g);p1.add(b1);p1.add(b2);p1.add(b3)

4、;p1.add(b);p2.add(l);b.addActionListener(this); /为按钮注册监听器 b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setSize(400,500);f.setLocation(100,100);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);2.2 练习打字窗口在本窗口中可以选择自己练习得文章,练习完成后点击结束练习按钮即可得到练习情况。图2

5、练习打字窗口界面setBackground(Color.GREEN); textArea=new JTextArea(500,500); textArea.setLineWrap(true); textArea.setEditable(false); textArea1=new JTextArea(500,500); textArea1.setLineWrap(true); openFile=new JButton(选择文章);2.3 选择文章功能在此页面可以选择练习的文章,并且在窗口打开,显示在对照文本框。图3 选择文章界面图4 选择文章后的界面jfc=new JFileChooser(.)

6、;FileNameExtensionFilter filter=new FileNameExtensionFilter(text file,txt);jfc.addChoosableFileFilter(filter); openFile.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) jfc.showOpenDialog(Xian.this); file=jfc.getSelectedFile(); if(file=null) textArea.setText(没有选择文件);

7、 return; textArea.setText( ); tryString content=getFileContent(file); textArea.setText(content); Xian.this.setTitle(file.getName(); catch(IOException ex)textArea.setText(读文件失败、原因n+ex); ); textArea1.addKeyListener(new KeyAdapter() public void keyPressed(KeyEvent e) if(coun=0) startTime=System.nanoTim

8、e(); coun=1; );b.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)jisuan();); public String getFileContent(File file) throws IOExceptionBufferedReader reader=new BufferedReader(new FileReader(file);String line=;String content=;while(line=reader.readLine()!=null)content

9、+=line+n;reader.close();return content;2.4结束练习功能此界面可以向练习文本框输入文字,点击结束练习系统自动弹出练习结果。图5练习结果界面 public void jisuan() double rate=0,j=0;str1=textArea.getText();str2=textArea1.getText();char s1=str1.toCharArray();char s2=str2.toCharArray();if(s2.length=s1.length) for(int i=0;is2.length;i+) if(s2i!=s1i)j+; r

10、ate=(j/s2.length)*100; elsefor(int i=0;is1.length;i+) if(s2i!=s1i)j+;rate=(j+(s2.length-s1.length)/s2.length)*100; endTime=System.nanoTime(); double rate1=(s2.length*1000000.0/(endTime-startTime)*60000;int rate2=(int)rate1; JOptionPane.showMessageDialog(Xian.this,错误率:+rate+%+ 平均输入率:+rate2+/分钟); 五、调试

11、与分析在实现各个功能的过程中我遇到了,各种各样的错误,我试着这慢慢的将这些错误逐个分析,并解决。如:textArea1.addKeyListener(new KeyAdapter() public void keyPressed(KeyEvent e) if(coun=0) startTime=System.nanoTime(); coun=1;);这是添加的一个键盘事件,是用来记录开始测试的时间的,当是编程时忽略了键盘事件,只要没点击一下键盘就会执行一次,即开始时间就会重新被记录,这样就会导致开始时间与结束时间相同,导致计算平均输入率错误。调试方法:经过认真分析我在键盘事件中加了一个控制变量

12、coun=0,当键盘事件执行过一次后令coun=1,这样当你在第二次敲击键盘时键盘事件就不会在执行了,并准确的记录了开始时间。六、功能测试打字测试前测试完成后 七、结论与心得 本次课程设计中我遇到了许多意想不到错误,有很多都是粗心大意造成的,所以我现在感觉编程是要保持冷静心态,遇到错误不能心浮气躁,要认真分析错误结果和错误提示,并且试着调试。这样来编程会使你的调试程序的能力又很快的提升,同时也在不知不觉中提高了你的编程能力。经过这两年的课程设计,和编程的学习,我深深了解到编程能力的提升不是从课本上学来的,而是在实战中锻炼出来的。在设计某个程序时不仅要求你有熟练的编程能力,同时也要有发散的思维和很好的逻辑思维能力。做好一个设计的前提就是又一个完美的思维框架,然后才是考验你的编程能力的时候。如果你不能在编程前合理的安排实现的先后顺序,那你将面临的已不再是编程能力好坏的困难。因为不管你

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号