版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件学院课程设计报告书课程名称设计题目专业班级学号姓名指导教师年月目录1设计时间 12设计目的 13设计任务 14设计内容 1 1 1 1 14.2.1包的描述 14.2.2类的描述 2 2 2 3 35功能模块的实现 3 36运行与实现 127总结与展望 19参考文献 20成绩评定 201设计时间2014年6月16日-2014年6月20日2设计目的随着科学技术的不断提高,计算机科学目渐成熟,计算机怩深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这样一个小程序,同时也是我的面向对象程序设计的课程设计。希望能对电脑初学都和想提高打字速度的朋友们有所帮助。本系统构建学生打字练习系统,基于所开发的打字程序界面友好,图形复杂。打字练习程序中应用到eclipse最新版本,java1.6以上版本的jdk。对于打字测试进入整体的部署。完成打字练习程序开发,培养程序设计和开发能力。3设计题目设计一个英文打字测试软件。从文件中调入英文录入材料,最后可以给出错误率,平均录入速度。4设计内容设计一个英文打字测试软件1.文件中调入英文录入材料2.最后给出错误率3.最后给出平均录入速度总体设计4.2.1包的描述由于本次实验使用的类较少,所有的类都建在同一个包下,本次试验也只用到了一个包。4.2.2类的描述EnglishGame类:主要构造都在这里完成。MyKey类:是该程序的一个内部类。EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能。从而达到打字训练测试的目的。图1EnglishGame类图图2MyKey类图页面设计分为一个选择框可以选择“退出”,“简单”,“困难”,“普通”四个部分,然后分上下两个框是输入内容与原内容相比,最后显示测试结果框。5功能模块实现importjava.awt.Color;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.event.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.JPanel;importjavax.swing.JTextPane;importjavax.swing.SwingUtilities;//所使用的包publicclassEnglishGameimplementsActionListener{ privatestaticJFramef=newJFrame("英文打字游戏"); privatestaticContainercon=f.getContentPane(); JPanelmainPanel,panel0,panel1,panel2,panel3,panel4,panel5,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-generatedmethodstub Stringcmd=e.getActionCommand(); date1=newDate(); if(cmd.equals("6.退出")) { System.exit(0); } elseif(cmd.equals("返回")) { } else { JFramef1=newJFrame("英文打字游戏"); f1.setSize(350,750); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Containercon1=f1.getContentPane(); panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel4=newJPanel(); panel6=newJPanel(); panel7=newJPanel(); tp1=newJTextPane(); tp1.setBackground(Color.pink); Fontsize=newFont("ad",Font.BOLD,20); tp1.setFont(size); tp1.setPreferredSize(newDimension(300,300)); tp1.setForeground(Color.white); tp2=newJTextPane(); tp2.setBackground(Color.lightGray); tp2.setFont(size); tp2.setPreferredSize(newDimension(300,300)); try { if(cmd.equals("1.文本1")) { fr=newFileReader("D:\\文本1.txt"); frr=newFile("D:\\文本1.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("2.文本2")) { fr=newFileReader("D:\\文本2.txt"); frr=newFile("D:\\文本2.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("3.文本3")) { fr=newFileReader("D:\\文本3.txt"); frr=newFile("D:\\文本3.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("4.文本4")) { fr=newFileReader("D:\\文本4.txt"); frr=newFile("D:\\文本4.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("5.文本5")) { fr=newFileReader("D:\\文本5.txt"); frr=newFile("D:\\文本5.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } } catch(Exceptionarg) { System.out.println(arg); } button=newJButton("返回"); button.addActionListener(this); panel1.add(newJLabel("参考练习:")); panel1.add(button); panel2.add(tp1); panel3.add(newJLabel("练习状况:")); panel4.add(tp2); panel0.add(panel1); panel0.add(panel2); panel0.add(panel3); panel0.add(panel4); panel0.add(panel6); panel0.add(panel7); con1.add(panel0); f1.setVisible(true); tp2.requestFocus(true); date1=newDate(); tp2.addKeyListener(newMyKey()); } }privateclassMyKeyextendsKeyAdapter{ @Override publicvoidkeyReleased(KeyEventarg0){ //TODOAuto-generatedmethodstub len1=tp1.getText().length(); len2=tp2.getText().length(); if(len2==len1) { JFramef2=newJFrame("英文打字游戏"); f2.setSize(250,150); f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Containercon2=f2.getContentPane(); date2=newDate(); time=(date2.getTime()-date1.getTime())/1000; count=0; for(inti=0;i<len1;i++) { if(tp2.getText().toString().charAt(i)==tp1.getText().toString().charAt(i)) count++; } rightrate=(double)count/len1*100; panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel1.add(newJLabel("恭喜完成本次游戏测试!")); panel2.add(newJLabel("游戏总共耗时:"+time+"秒"+"平均速率:"+len1/time+"字/秒")); panel3.add(newJLabel("您的正确率为:"+rightrate+"%")); panel0.add(panel1); panel0.add(panel2); panel0.add(panel3); con2.add(panel0); f2.setVisible(true); } elseif(len2>len1){ System.exit(0); } } } publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub f.setSize(200,300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); con.add(newEnglishGame().creatMenu()); f.setVisible(true); } publicJPanelcreatMenu(){ mainPanel=newJPanel(); panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel4=newJPanel(); panel5=newJPanel(); panel6=newJPanel(); panel7=newJPanel(); button1=newJButton("1.文本1"); button2=newJButton("2.文本2"); button3=newJButton("3.文本3"); button4=newJButton("4.文本4"); button5=newJButton("5.文本5"); button6=newJButton("6.退出"); panel0.add(newJLabel("欢迎使用英文打字测试系统")); panel1.add(newJLabel("请选择游戏难度:")); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); panel2.add(button1); panel3.add(button2); panel4.add(button3); panel5.add(button4); panel6.add(button5); panel7.add(button6); mainPanel.add(panel0); mainPanel.add(panel1); mainPanel.add(panel2); mainPanel.add(panel3); mainPanel.add(panel4); mainPanel.add(panel5); mainPanel.add(panel6); main
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实验室设备分期付款协议书
- 招投标项目信息网络考核表
- 二手房交易风险防范
- 2022年中考考前最后一课-考前公式
- 摄影教育教师聘用协议模板
- 城市商业街广告牌施工合同
- 建筑行业员工退休制度
- 2019-2021年广东省广州市中考物理试题分类汇编-填空题
- 中南大学《织行为学》2022-2023学年第一学期期末试卷
- 中南大学《运筹学》2021-2022学年第一学期期末试卷
- 公司级新员工安全培训课件
- 幼儿园园长培训课件
- 知名投资机构和投资人联系方式汇总
- 材料数据系统(IMDS) 用户手册 版本13.0
- 《HSK标准教程3》第5课课件
- 工程结构通用规范(住建部2021年颁布)
- 临床医学老年性痴呆-课件
- S7-1200PLC实训课程教案
- 咯血(课件幻灯)
- 《人力资源管理专业企业招聘流程研究开题报告(含提纲)》
- 《管理统计学》课程教学大纲
评论
0/150
提交评论