(完整word版)打字训练测试软件-Java课程设计
《文字排版与录入》实训指导书 打字测试
三、成果与检测
学生把每项任务结果截图提交给老师并发表反馈意见。
四、课后作业
《文字录入与排版》实训
实训项目
打字测试
实训目标
通过打字测试,练习指法,提高打字速度及正确率,培养学生动手能力。同时使学生了解自己现阶段的打字水平。
实训时间
2学时
实训材料
计算机
实训内容与步骤
一、实训准备
(1)学生启动计算机
(2)教师布置课堂任务
二、实训开始
(1)学生打开金山打字通,选择打字测试,在英文测试中选择一篇文章完成任务。
java在线考试系统课程设计
java在线考试系统课程设计一、课程目标知识目标:1. 理解Java语言面向对象编程的基本概念,掌握类的定义、属性和方法的创建与调用。
2. 学会使用Java集合框架处理数据,掌握异常处理机制。
3. 掌握Java在线考试系统的需求分析、功能模块划分和数据库设计。
技能目标:1. 能够运用所学知识独立设计并实现一个Java在线考试系统。
2. 通过实际操作,提高问题分析、系统设计和编程实现的能力。
3. 学会使用Java开发工具(如Eclipse)进行项目开发,培养良好的编程习惯。
情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力。
2. 增强学生对Java编程的兴趣,激发主动学习的热情。
3. 培养学生面对问题时的积极态度,勇于克服困难,提高解决问题的能力。
课程性质:本课程为实践性较强的课程,旨在通过Java在线考试系统项目的设计与实现,让学生掌握Java编程的基本知识和技能,提高实际项目开发能力。
学生特点:学生已具备一定的Java基础,具有较强的学习能力和探究精神,但实际项目经验不足。
教学要求:注重理论与实践相结合,充分调动学生的主观能动性,培养其独立思考和解决问题的能力。
通过项目实践,使学生能够将所学知识应用于实际项目中,提高编程技能和团队协作能力。
同时,关注学生情感态度价值观的培养,激发学习兴趣,为其未来的学习和发展奠定基础。
二、教学内容1. Java面向对象编程基础:- 类与对象- 继承与多态- 抽象类与接口- 异常处理2. Java集合框架:- List、Set、Map接口及其实现类- 集合的遍历与操作3. 数据库设计:- 数据库基本概念- SQL语句编写- JDBC连接数据库4. Java在线考试系统设计与实现:- 系统需求分析- 功能模块划分- 数据库设计- 界面设计- 业务逻辑实现5. 项目实践:- 分组合作,明确分工- 项目进度安排与监控- 编码规范与代码审查- 系统测试与优化教学内容根据课程目标进行科学性和系统性的组织,涵盖Java面向对象编程、集合框架、数据库设计和项目实践等方面。
java课程设计字母打字游戏
java课程设计字母打字游戏一、教学目标本节课的教学目标是让学生掌握Java编程的基本语法和流程控制,能够使用Java编写简单的字母打字游戏。
具体来说,知识目标包括:1.理解Java的基本数据类型和变量。
2.掌握Java的运算符和表达式。
3.熟悉Java的流程控制语句,包括条件语句和循环语句。
技能目标包括:1.能够使用Java编写简单的程序,实现基本的输入输出。
2.能够使用Java的流程控制语句,实现程序的逻辑控制。
3.能够独立完成字母打字游戏的编写和调试。
情感态度价值观目标包括:1.培养学生对编程的兴趣和热情,提高学生的问题解决能力。
2.培养学生团队合作的精神,鼓励学生在课堂上积极互动和交流。
3.培养学生对编程的持续学习和探索的态度,激发学生的创新意识。
二、教学内容本节课的教学内容主要包括Java的基本语法和流程控制。
具体安排如下:1.介绍Java的基本数据类型和变量,包括整数类型、浮点类型、字符类型和布尔类型。
2.讲解Java的运算符和表达式,包括算术运算符、比较运算符、逻辑运算符和赋值运算符。
3.学习Java的流程控制语句,包括条件语句(if-else)和循环语句(for、while、do-while)。
4.通过案例分析和实践,让学生掌握条件语句和循环语句的使用,编写简单的字母打字游戏。
三、教学方法为了激发学生的学习兴趣和主动性,本节课将采用多种教学方法相结合的方式。
具体方法如下:1.讲授法:教师讲解Java的基本语法和流程控制,为学生提供系统的知识框架。
2.案例分析法:通过分析具体的字母打字游戏案例,让学生理解和掌握Java编程的方法。
3.实验法:学生动手实践,编写和调试字母打字游戏,培养学生的实际编程能力。
4.小组讨论法:学生分组合作,互相交流和讨论,培养学生的团队合作精神和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,本节课将利用多种教学资源。
具体资源如下:1.教材:《Java编程入门》教材,为学生提供基础知识的学习材料。
Java课程设计可选题目及任务书
Java语言课程设计任务书及题目一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6、设计上交内容:设计报告一份,包括课程设计目的、要求、源程序文件、运行结果。
二、Java语言课程设计选题如下:1、课题:算术运算测试功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
界面要求:用字符界面实现、也可用图形界面实现。
2、课题:猜数游戏功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
界面要示:用字符界面实现、也可用图形界面实现。
3、学生成绩管理功能要求:1)输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)2)计算出平均成绩。
以平均成绩降序输出成绩表。
3)输出全组各科平均分,最高分和最低分。
4)输入姓名查询成绩界面要示:用字符界面实现、也可用图形界面实现。
4、计算器模拟程序功能要求:该程序显示GUI用户界面,能实现整数的加、减、乘、除四则运算。
界面要示:用图形界面实现。
可参考下图。
图1 计算器模拟程序界面5、画随机的圆功能要求:实现简单的动画。
java课程设计.docx
java课程设计.docx一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。
知识目标:通过本章节的学习,学生需要掌握Java编程的基本语法、数据类型、控制结构、函数等基础知识。
技能目标:学生能够运用Java编程解决简单的实际问题,具备基本的编程能力。
情感态度价值观目标:培养学生对编程的兴趣和热情,提高学生解决问题的能力。
二、教学内容本章节的教学内容主要包括Java编程的基本语法、数据类型、控制结构、函数等基础知识。
具体包括以下内容:1.Java编程的基本语法和规则2.数据类型:整数类型、浮点类型、字符类型、布尔类型等3.控制结构:顺序结构、选择结构、循环结构等4.函数:定义和调用函数,传递参数,返回值等5.常用内置函数:数学函数、字符串函数等三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式进行。
1.讲授法:通过讲解和示范,让学生掌握Java编程的基本语法和规则,以及数据类型、控制结构、函数等基础知识。
2.案例分析法:通过分析实际案例,让学生学会如何运用Java编程解决实际问题。
3.实验法:通过上机实验,让学生动手实践,巩固所学知识,提高编程能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的Java编程教材,如《Java核心技术》等。
2.参考书:提供相关的Java编程参考书籍,如《Java编程思想》等。
3.多媒体资料:制作精美的PPT课件,提供Java编程相关的视频教程等。
4.实验设备:确保学生有足够的计算机设备进行上机实验。
五、教学评估本章节的教学评估主要包括平时表现、作业和考试三个部分,以全面、客观、公正地评估学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的学习态度和表现。
2.作业:布置适量的作业,评估学生的知识掌握和运用能力。
3.考试:进行定期的考试,评估学生对章节知识的全面理解和掌握程度。
键盘练习综合实训标准(软件)
《键盘练习综合实训》课程标准一、前言《键盘练习综合实训》课程是软件技术专业的一门实践性技能课程。
其目标是培养学生具备熟练使用Word,excell,PowerPoint,access的能力。
使学生达到专业应具备的职业岗位能力要求。
培养了学生解决常见问题的能力、文件编译能力,数据整理与分析能力,提高其就业竞争力。
(一)课程基本信息1.课程名称:键盘练习综合实训2.课程类别:专业基础课程3.课程编码:0612294.学时:605.适用专业:软件技术(二)课程性质本课程是学生在已经学习了计算机相应用基础课程,具备了一定的office操作技能之后,以实际应用为背景,培养具备熟练使用办公软件的通用型软件技术人员,适合所有高职院校软件技术专业的学生学习。
同时,软件技术专业学生在学习本课程的基础上,为资料收集整理、办公自动化与数据处理能力培养打下一个坚实的基础。
(三)课程标准的设计思路1.课程设置的依据课程设置根据文秘、网站管理与维护、电子录入等职业岗位的知识与技能要求,充分贴近软件行业,密切与企业合作进行课程设计。
以企业高级办公自动化为背景,组织实训内容,充分体现职业性、实践性和开放性。
让学习者在实训活动的基础上掌握必备知识,增强实训内容与职业岗位能力要求的相关性,将素质培养贯穿整个实训过程中,提高学生的就业能力。
2.课程改革的基本理念课程改革的基本理念是根据实训内容的知识点划分为若干子任务,以子任务为基本教学单元,通过完成一系列的子任务最终达到实训的目的,提高解决实际问题的能力。
3.课程目标、内容制定的依据(1)以职业岗位和后续课程需求确定课程目标;首先组建专业必修课、专业教师、企业专家三方人员组成的课程开发团队,进行课程服务专业的人才培养目标分析,确定软件技术专业的岗位面向;进而确定本课程所组成的具体核心内容有哪些?同时结合行业对岗位任职的具体标准,确定实训的具体目标。
(2)依据职业标准,通过对所服务的后续课程和必修课程本身分析,以专业基础课与学习领域课程聚合点构建教学内容;通过对职业标准进行剖析和本实训课程所服务的后续课程本身进行分析,得出后续专业课程负载点与专业基础课程支撑点存在聚合,将这些聚合点作为教学内容选择、实训任务确定的依据。
(完整word版)打字游戏源代码
DefaultFrame .java 程序import java.awt.*;import java.awt.color.*;import java.awt.event.*;public class DefaultFrame extends Frame {public static final int GAME_WIDTH = 600;public static final int GAME_HEIGHT = 400;public static void main(String[] args) {DefaultFrame defaultFrame1 = new DefaultFrame();uchFrame();}private void lauchFrame() {this.setBounds(150, 150, GAME_WIDTH, GAME_HEIGHT);this.setBackground(Color.DARK_GRAY);this.setResizable(false);this.setVisible(true);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent arg0) {System.exit(0);}});KeyMonitor km = new KeyMonitor(this);this.addKeyListener(km);}class KeyMonitor extends KeyAdapter {private DefaultFrame defaultFrame;public KeyMonitor (DefaultFrame d) {defaultFrame = d;}public void keyPressed(KeyEvent e) {if(e.getKeyCode() == KeyEvent.VK_SPACE) {defaultFrame.setVisible(false);new GameFrame().launchFrame();}}}public void paint(Graphics g) {g.setFont(new Font("a",Font.BOLD,20));g.setColor(Color.blue);g.drawString("打字小游戏", 250, 100);g.drawString("看看30秒时间你能打多少个字母", 150, 200);g.drawString("按空格键开始游戏", 200, 300);}}GameFrame.java程序import java.awt.*;import java.awt.event.*;import java.util.*;import java.util.List;public class GameFrame extends Frame {public static final int GAME_WIDTH = 600;public static final int GAME_HEIGHT = 400;public static int GAME_LEVEL = 2;public static int charNum = 0; //记录总字符数public static int hitNum = 0; //记录打中的字符数List myChar = new ArrayList();private boolean timeUp = false;private Image offScreenImage = null;public void launchFrame() {this.setBounds(150, 150, GAME_WIDTH, GAME_HEIGHT);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent arg0) {System.exit(0);}});this.setVisible(true);KeyMonitor keyMonitor = new KeyMonitor();this.addKeyListener(keyMonitor);Thread t = new Thread(new CreaterChar());t.start();new Thread(new CountTime()).start();new Thread(new Repaint()).start();}class KeyMonitor extends KeyAdapter {public void keyPressed(KeyEvent e) {for(int i = 0; i < myChar.size();i++) {MyChar aChar = (MyChar)myChar.get(i);aChar.keyPressed(e);}}}public void paint(Graphics g) {g.setColor(Color.red);g.setFont(new Font("a",Font.BOLD,10));// g.drawString("屏幕中字符数" + myChar.size(), 500, 40);g.drawString("打中的字符数"+ hitNum, 450, 60);for (int i = 0; i < myChar.size(); i++) {MyChar aChar = (MyChar)myChar.get(i);if(aChar.isLive())aChar.draw(g);else {myChar.remove(myChar.get(i));}}if(timeUp == true) {g.setColor(Color.blue);g.drawString("Time Up", 200, 150);g.drawString("打中的字符数"+ hitNum,200,200);g.drawString("按F1重新开始",200,250);}}// 双缓冲技术public void update(Graphics g) {if (offScreenImage == null) {offScreenImage = this.createImage(GAME_WIDTH,GAME_HEIGHT);}Graphics gOffScreen = offScreenImage.getGraphics();Color c = gOffScreen.getColor();gOffScreen.setColor(Color.GREEN);gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);paint(gOffScreen);gOffScreen.setColor(c);g.drawImage(offScreenImage, 0, 0, null);}class CreaterChar implements Runnable {public void run() {int sleep = 0;switch (GAME_LEVEL) {case 2:sleep = 1000;}while (!timeUp) {try {MyChar newchar = new MyChar();MyChar newchar1 = new MyChar();MyChar newchar2 = new MyChar();myChar.add(newchar);myChar.add(newchar1);myChar.add(newchar2);charNum ++;repaint();Thread.sleep(sleep);} catch (InterruptedException e) {e.printStackTrace();}}repaint();}}class CountTime implements Runnable {public void run() {try {Thread.sleep(30000);} catch (InterruptedException e) {e.printStackTrace();}timeUp = true;}}class Repaint implements Runnable {public void run() {while(timeUp == false) {try {Thread.sleep(100);} catch (InterruptedException e) {// TODO 自动生成catch 块e.printStackTrace();}repaint();}}}}MyChar.java程序import java.awt.Graphics;import java.awt.color.*;import java.awt.event.KeyEvent;import java.awt.*;public class MyChar {String charString = "abcdefghijklmnopqrstuvwxyz";int x,y;int index;String str;char c;boolean live;public MyChar () {x = new java.util.Random().nextInt();if(x < 0)x = x * (-1);x = (x % 115 + 1) * 5;y = 50;index = new java.util.Random().nextInt();if (index < 0)index = index * (-1);index = index %26;c = charString.charAt(index);str = String.valueOf(c);live = true;}public void draw(Graphics g) {g.setColor(Color.BLACK);g.setFont(new Font("a",Font.BOLD,20));g.drawString(str,x ,y );y = y + 10;if(y > GameFrame.GAME_HEIGHT - 40) {live = false;}}public void keyPressed(KeyEvent e) {if(e.getKeyChar() == c) {GameFrame.hitNum++;live = false;}if(e.getKeyCode() == KeyEvent.VK_F1) {GameFrame.charNum = 0;GameFrame.hitNum = 0;new GameFrame().launchFrame();}}public boolean isLive() {return live;}}。
Java程序开发实训(实训任务书)(word文档良心出品)
Java程序开发实训——实训任务书主编:季松华目录图书馆管理信息系统开发实训 (3)1.实训任务 (3)2.实训目的 (4)3.实训方式 (5)4.实训条件 (5)5.实训内容及计划 (5)6.实训步骤 (7)6.1子任务一:需求分析与项目设计 (7)6.2子任务二:数据库设计与环境搭建 (8)6.3子任务三:MVC设计与底层代码封装 (9)6.4子任务四:界面设计 (9)6.5子任务五:用户管理子系统 (10)6.6子任务六:图书管理子系统 (10)6.7子任务七:图书借还管理子系统 (11)6.8子任务八:软件测试与项目总结 (11)7.考核标准 (12)8.参考资料 (13)附件软件文档编写向导 (14)图书馆管理信息系统开发实训1.实训任务本次实训计划32学时,完成一个c/s架构的图书馆管理信息系统的设计、编码和测试。
实训的重点是面向对象程序设计、图形界面设计、事件的处理及数据库编程设计。
1.1项目背景XXX学校每学期都要购进大量的书籍,图书馆管理系统是一个学校不可缺少的一部分。
它的操作和管理对于管理者来说,可以使书籍管理工作规范化、系统化、程序化,很重要的是能够为用户提供充足的信息和快捷的查询手段。
因此有必要建立一个图书管理系统,以避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
1.2系统架构本系统采用简单的c/s架构,mysql充当数据库服务器,可以同时被多个客户端连接。
1.3功能示例图书管理系统主要有用户管理、图书管理、借阅管理等功能。
图1 图书馆管理系统结构示意图图2 图书馆管理系统功能矩阵&角色权限图2.实训目的通过本次实训使学生系统的掌握软件开发的主要流程,并学会Java语言开发软件项目的方法,掌握软件技术文档的撰写要求。
3.实训方式本次任务共分解成八个子任务,每个子任务分配4个学时。
由教师布置任务,引导学生对任务进行讨论、分析,剖析出任务的要点与难点,针对难点进行演示。
初中信息技术《打字练习—易语言应用》教案
初中信息技术《打字练习—易语言应用》优秀教案教学目标:1. 让学生掌握易语言的基本操作和应用。
2. 培养学生的打字速度和准确性。
3. 提高学生对信息技术的兴趣和动手操作能力。
教学内容:1. 易语言的安装和基本操作。
2. 打字练习的方法和技巧。
3. 易语言编程的基本步骤。
教学重点:1. 易语言的基本操作。
2. 打字练习的方法和技巧。
教学难点:1. 易语言编程的步骤和逻辑。
教学准备:1. 电脑和投影仪。
2. 易语言软件。
3. 打字练习材料。
教学过程:一、导入(5分钟)1. 向学生介绍易语言的基本功能和应用。
2. 激发学生对易语言编程的兴趣。
二、易语言的基本操作(10分钟)1. 讲解易语言的安装和启动方法。
2. 演示易语言的基本操作,如编写、运行和调试程序。
3. 让学生动手操作,熟悉易语言的环境。
三、打字练习的方法和技巧(10分钟)1. 讲解打字练习的重要性和方法。
2. 演示打字练习的技巧,如指法、速度和准确性。
3. 让学生进行打字练习,给予指导和反馈。
四、易语言编程的基本步骤(10分钟)1. 讲解易语言编程的步骤和逻辑。
2. 演示一个简单的易语言程序编写过程。
3. 让学生动手编写一个简单的易语言程序,给予指导和反馈。
五、总结与评价(5分钟)1. 总结本节课学生掌握的内容和技能。
2. 对学生的打字练习和编程作品进行评价和反馈。
教学延伸:1. 让学生继续进行打字练习,提高打字速度和准确性。
2. 让学生尝试编写更复杂的易语言程序,发挥创造力。
教学反思:本节课通过讲解和动手操作,让学生掌握了易语言的基本操作和应用,也进行了打字练习。
在教学过程中,要注意关注每个学生的学习情况,给予个别指导和帮助,确保学生能够顺利掌握知识和技能。
在后续的教学中,可以增加更多的编程实例和打字练习材料,让学生不断提高自己的信息技术能力。
六、易语言编程进阶(10分钟)1. 介绍易语言的基本数据类型和变量。
2. 讲解条件语句和循环语句的使用。
初中信息技术《打字练习—易语言应用》教案
初中信息技术《打字练习—易语言应用》优秀教案第一章:易语言简介1.1 易语言的起源和发展1.2 易语言的特点和优势1.3 易语言的基本语法和规则1.4 易语言的安装和运行第二章:基本输入输出2.1 易语言的输入输出函数2.2 控制台输出文本2.3 控制台输入文本2.4 消息框输出文本第三章:数据类型和变量3.1 易语言的数据类型3.2 变量的声明和使用3.3 常量和枚举的使用3.4 数据的运算符和表达式第四章:控制结构4.1 顺序结构4.2 选择结构4.3 循环结构4.4 分支和跳转第五章:数组和字符串5.1 数组的声明和使用5.2 字符串的基本操作5.3 字符串的查找和替换5.4 数组和字符串的综合应用第六章:函数和子程序6.1 函数的声明和调用6.2 参数的传递和返回值6.3 子程序的定义和调用6.4 递归和嵌套调用第七章:面向对象编程7.1 类的定义和创建7.2 属性和方法的封装7.3 继承和多态的概念7.4 面向对象的综合应用第八章:文件操作8.1 文件的基本概念和操作8.2 文件的打开和关闭8.3 文件的读写操作8.4 文件的顺序访问和随机访问第九章:数据库操作9.1 数据库的基本概念和操作9.2 数据库的连接和断开9.3 数据的增删改查操作9.4 数据库的综合应用第十章:网络编程基础10.1 网络编程的基本概念10.2 套接字的创建和使用10.3 网络通信的发送和接收10.4 网络编程的综合应用第十一章:图形用户界面设计11.1 窗体的创建和属性设置11.2 控件的添加和布局11.3 事件驱动编程模型11.4 GUI设计的综合应用第十二章:多媒体应用12.1 音频文件的处理12.2 视频文件的处理12.3 图形和图像的处理12.4 多媒体应用的综合实例第十三章:第三方库的使用13.1 第三方库的介绍13.2 库的安装和使用13.3 常用第三方库的功能和示例13.4 第三方库的综合应用第十四章:易语言游戏开发14.1 游戏开发的基本概念14.2 游戏循环和事件处理14.3 游戏资源的加载和管理14.4 游戏开发的综合实例第十五章:项目实践与答辩15.1 项目实践的要求和流程15.2 项目的规划和设计与实现15.3 项目答辩的准备和技巧15.4 项目实践和答辩的综合评估重点和难点解析1. 易语言的基本语法和规则,如数据类型、变量、运算符等。
自编汉字测试软件,提高汉字输入水平
i n p u t , h o w t o ma k e s t u d e n t s t o s k i l l s t r a i n i n g a l wa y s k e 印p a s s i o n i s he t k e y hr t o u g h t h e t e s t , hr t o u g h t h e c o mp a r i s o n s o f r e -
科技创 新
S c i e n t i ic f a n dT e c h n o l o g i c a l I n n o v a t i o n
自编汉字测试 软件 , 提高汉字输入水平
于 , J 、 日 丹 同 丹
( 吉林 财经 学校
摘 要
吉林 ・ 吉林
1 3 2 0 1 3 )
教师的工作量 , 完成这 么大的工作量 , 靠教师是不行 的 , 只能依 靠机 器 自 动 完成。
关键词 汉字输入 测试 软 件 软 件 设 计
中图分类号: T P 3 9 1 . 1
文献标识码 : A
Chi n e s e Ch a r a c t e r Te s t So f t wa r e i s Co m pi l e d i n Or de r t o I mp r o v e
t h e Le v e l o f t h e Ch i n e s e Ch a r a c t e r I n pu t
S UN Li l i
( J i l S c h o o l o f F i n a n c  ̄ a n d E c o n o mi c s , J i l i n , J i l i n 1 3 2 0 1 3 )
打字训练软件
打字训练软件《Java语言程序设计》课程设计课设题目:打字训练测试软件院系:计算机科学与技术学院专业:物联网学生姓名:宋杰学号:123921041 学生姓名:王鹏学号: 123921042 学生姓名:于渊学号:123921043 指导教师:段善荣2014 年 12 月打字训练测试软件1、打字训练测试软件的概述1.1 背景与意义计算机在20世纪后半期取得了飞速发展,随着网络的发展,已经成为人们日常生活中不可或缺的一部分,如何快速的掌握计算机操作技能显得非常重要,其中打字速度更是衡量一个人操作熟练与否的重要标志,因此开发一种高效的打字程序显得迫在眉睫。
目前大多数打字程序都是只能在Windows下运行,跨平台运行能力不是很强。
为了适应当下的需求,格外需要一款新的打字程序。
我们小组开发的这个用JA V A设计的打字训练测试软件,它的主要功能是从文件中录入一段英文或中文文档,并能给出错误率和平均录入速度。
在该文档设计中,为了方便,文档格式设置为txt格式。
该软件能实现从磁盘上寻找打开一个文件、实时显示打字速度和剩余时间等功能,应用到GUI,多线程,文件的输入输出等知识。
需要从磁盘打开要录入文件的样本,录入时需要实时显示录入速度和剩余时间,录入结束后,显示录入速度和错误率。
录入结束方式可以通过点击“结束测试”按钮结束测试,文章录入完成也自动结束录入,到达设置时间也自动结束录入。
最后要求图形界面,界面良好美观,主要是为了锻炼一下打字技能,提高打字速度,并能给出错误分析。
2、打字训练测试软件的设计思路2.1系统主要功能本程序必需主要实现的功能如下:1)添加文件。
从磁盘添加现有的文本文件显示在程序界面上方。
2)设置测试时间。
在打字开始前,可以设置测试时间,方便快捷地结束测试。
3)显示测试结果。
结果主要包括:打字速度和错误率。
4)在录入过程中,显示当前速度和剩余时间。
为了实时提醒用户打字速度和打字时间可以实时提示打字速度和剩余时间(剩余时间是设置的测试时间减掉已使用的时间).5)使用菜单栏。
初中信息技术《打字练习—易语言应用》教案
初中信息技术《打字练习—易语言应用》优秀教案一、教学目标1. 让学生掌握易语言的基本语法和操作方法。
2. 培养学生运用易语言进行打字练习的能力。
3. 提高学生的计算机操作技能和信息素养。
二、教学内容1. 易语言简介:介绍易语言的发展历程、特点和应用领域。
2. 易语言基本语法:变量、数据类型、运算符、控制结构等。
3. 打字练习:利用易语言编写打字游戏,提高学生的打字速度和准确性。
三、教学重点与难点1. 重点:易语言的基本语法和打字练习的方法。
2. 难点:如何运用易语言编写有趣的打字游戏。
四、教学方法与手段1. 采用“讲解+演示+练习”的教学方法,让学生在实践中掌握知识。
2. 使用多媒体教学手段,如PPT、教学软件等,辅助教学。
五、教学过程1. 导入:介绍易语言的背景和发展历程,激发学生的学习兴趣。
2. 讲解:讲解易语言的基本语法,如变量、数据类型、运算符等。
3. 演示:通过PPT或教学软件,演示如何编写简单的打字游戏。
4. 练习:让学生动手编写打字游戏,教师巡回指导。
六、教学评价1. 课堂参与度:观察学生在课堂上的积极参与程度,提问和回答问题的积极性。
2. 打字游戏编写:评估学生编写打字游戏的质量和创新性。
3. 打字速度和准确性:在课堂练习中观察学生的打字速度和准确性。
七、教学延伸1. 邀请专业人士进行讲座,介绍易语言在实际工作中的应用。
2. 组织学生参加易语言编程比赛,提高学生的编程能力。
3. 开展课后兴趣小组,让学生更深入地学习易语言和计算机编程。
八、教学资源1. PPT课件:制作易语言基本语法和打字练习的PPT课件。
2. 教学软件:选择合适的教学软件,辅助学生进行打字练习。
3. 编程工具:为学生提供易语言编程工具,方便学生编写和运行代码。
九、教学反馈1. 学生反馈:收集学生对教学内容和教学方法的反馈,了解学生的学习需求。
2. 同行评价:向同行请教意见和建议,不断提高教学质量。
3. 教学反思:教师定期进行教学反思,调整教学策略和方法。
JAVA课程设计题目
JAVA课程设计题目Java课程设计题目一、课程设计总体要求:本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。
通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。
二、参考题目及要求:1、编写一个记事本程序要求:用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
2、模拟龟兔赛跑要求:用图形用户界面实现。
能设置比赛时间,马匹的数量等等。
在任意时间段内马匹的速度是随机的。
开始比赛之后以动画显示赛马过程。
提示:使用多线程3、学生信息管理系统要求:使用图形用户界面用数据库建立1或2个学生信息表。
(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。
4、图书信息管理系统要求:使用图形用户界面用数据库建立1或2个图书信息表。
(不限使用哪种数据库)能连接数据库并实现查询、增、删、改等功能。
5、聊天小程序要求:使用图形用户界面。
能实现一个聊天室中多人聊天。
可以两人私聊。
提示:使用socket通信6、ATM柜员机模拟程序要求:使用图形用户界面。
当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:1、查询余额:初始余额为10000元2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、A TM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
7、超市收银系统要求:使用图形用户界面。
由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。
从数据库中取出有关价格信息,再把这些信息返回给收银台。
汉字打字练习课程设计
汉字打字练习课程设计一、课程目标知识目标:1. 学生掌握汉字输入法的基本原理,了解汉字编码的规则。
2. 学生能够正确使用拼音输入法,识别并正确输入课程所涉及的300个常用汉字。
3. 学生理解并掌握正确的打字姿势和指法,提高汉字输入的准确率和速度。
技能目标:1. 学生能够熟练操作计算机,启动和切换汉字输入法。
2. 学生通过反复练习,达到每分钟输入20个以上汉字的速率,且准确率超过90%。
3. 学生能够使用打字软件进行自我练习和测评,自主提高打字技能。
情感态度价值观目标:1. 培养学生认真细致的学习态度,对待打字练习持之以恒,勇于克服困难。
2. 增强学生对信息技术学习的兴趣,认识到汉字打字在现代信息交流中的重要性。
3. 通过团队合作打字竞赛等活动,培养学生的团队协作精神和集体荣誉感。
本课程设计针对小学四年级学生特点,结合当前信息技术课程的教学要求,旨在提高学生的计算机操作技能和汉字输入能力,为后续的计算机学习打下坚实基础。
课程目标的设定以具体、可衡量为原则,确保学生在课程结束后能够达到预定的学习成果,同时注重培养学生的情感态度和价值观。
1. 计算机基础知识:介绍计算机的基本组成,操作系统的简单认识,开关机及基本操作。
教材章节:《信息技术》第四章第一、二节。
2. 汉字输入法原理:讲解汉字输入法的分类,重点学习拼音输入法的使用方法。
教材章节:《信息技术》第四章第三节。
3. 打字姿势与指法:学习正确的打字姿势,掌握键盘分区,熟练使用各个手指敲击相应键位。
教材章节:《信息技术》第四章第四节。
4. 常用汉字输入练习:根据课程目标,挑选300个常用汉字,进行分组练习,逐步提高输入速度和准确率。
教材章节:《信息技术》第四章第五节。
5. 打字软件应用:介绍打字软件的功能和使用方法,指导学生进行自主练习和测评。
教材章节:《信息技术》第四章第六节。
6. 团队合作与竞赛:组织学生分组进行打字竞赛,培养团队协作精神,提高打字兴趣。
程序设计综合实训(JAVA部分)
Java语言课程设计指导书一、课程设计目的和要求本课程是软件工程专业所开设的一门重要实践课程,主要要求学生掌握Java语言和面向对象在实践中的应用。
本课程设计的目的是使学生在理论学习的基础上,动手编写程序,通过应用所学习的知识,来解决一些实际的问题。
在此基础上,真正理解和掌握Java面向对象程序设计的相关理论,具备程序设计的能力。
二.课程设计参考题目任选下列项目进行,查阅相关文献、了解相关的系统,要求完成规定的各项任务。
(多做将加分)1. 用菜单和按钮来控制绘图2. 日历记事本3. 记事本4. 记忆测试系统5. 计算器模拟程序6. 扑克牌7. 小型计算器8.学生信息管理系统9.模拟购物窗体10.手机号码查询系统11. 师生管理12.自拟题三.任务完成形式1.完整的软件系统最终必须向指导老师提交完整的电子版程序源代码、可执行程序、数据文件以及使用说明文件等。
源代码文件要特别注意编程规范、代码风格,关键代码需有合理的注释,不含任何无用代码;数据文件内要求有一定数量的“真实”数据(如对于记录文件,需要有5条以上记录);使用说明文件的第一行,需要给出设计者的学号、姓名,后面为其它说明。
2.课程设计报告参照设计报告模板完成设计报告。
四.总体要求根据所给的实验指导书的要求,从中选择项目,应用所学的知识,完成题目所规定的各项要求。
总体要求如下:1.程序代码总量不少于500行(其中不包括编译器自动生成的代码),关键代码必须有合理注释。
2.课程设计报告正文字数不少于1000汉字,概念清楚、叙述正确、内容完整、书写规范。
3.课程设计中必须按指导书要求,综合应用所学的网络安全知识解决实际问题,有必要的理论分析,设计要有合理的依据。
独立完成课程设计,不得抄袭他人。
4.功能正确、有一定实用性,鼓励创新。
5.程序界面友好,便于交互。
6.在设计过程中要考虑用户使用的便利,提供一些多样化的选择,比如在算法的安全性和便利方面做出折衷。
基于Java开发技术的打字练习系统
科学技术创新基于J ava 开发技术的打字练习系统陈湘瑾祖子帅于孔亮修昂(山东科技大学,山东济南250000)1概述如今计算机技术迅速持续性发展并逐渐地融入了人们的生活。
为了适应当今社会的变革发展,提高人们对计算机网络的熟悉程度与动手操作能力显得尤为必要。
然而打字速度是一个人操作熟练程度的重要衡量指标,同时也是提高网上沟通交流效率的重要方法。
本系统操作方便,可根据系统后台给出的文本随机匹配进行打字练习。
通过不断练习提高正确率从而达到熟练掌握打字技能的目的。
2系统需求分析和功能模块设计本系统针对具有打字练习需求的用户群体而设定,打字练习的难度级别一共分为3个等级:初级、中级、困难。
功能模块设计:(1)打字练习难度级别弹出对话框和主界面窗口模块设计。
(2)随机读取文件中的汉字文本来进行打字练习,实现系统给出打字练习的样本(样本保存在指定文件中),用户根据样本进行打字练习。
(3)系统能够自动将用户打字练习过程中产生的字符错误进行统计分析,并显示出相应正确率。
3系统功能详细设计及实现3.1界面设计此部分设计可以弹出消息对话框并使用户进入打字练习主界面窗口。
首先设置创建了三个容器panel 1、panel 2、panel 3,用来添加各种组件。
设置“开始”和“退出”2个按钮;“标题”、“当前正确率”、“难度”3个标签。
设置3个文本框,一个是不可编辑的,用来读取样本文件中的文本内容,一个是用户进行打字练习的可编辑的文本框,还有一个是难度后面的长度为6的文本框,在里面分别输入数字1,2,3则会得到相应等级难度为1,2,3的文本内容进行打字练习。
为b1和b2两个按钮设置增加监听功能,又设置了布局为边框布局,边框布局分东南西北中5个方位来分别添加控件。
3.2随机读取打字练习文本随机选择保存在指定文件中的样本,用户根据样本文章内容进行打字练习的功能模块设计。
利用随机数(设置随机数为5)及数组来实现随机读取文章内容进行打字练习,分别将难度等级为1,2,3的文章放在不同的集合里,然后通过流读取数据,通过数组中存储的文章路径来读取文章内容,实现随机匹配与读取文本的功能。
java课程设计实验报告
Java课程设计实验报告实验题目:打字游戏小程序专业: 计算机科学与技术系班级: 1202班成员:Java 课程设计打字游戏小程序一、课程设计目的经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥;在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识;二、课程设计内容1.课程设计简介设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分;2.设计说明因为要进行键盘操作,所以引用了event包,还要注册事件监听;字母是随机产生的,又要用Math.random;注册了线程;还要对窗口定义坐标,防止字母出现在同一位子;并且通过一位数组来给随机出现的字母做坐标定义;主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制;3.设计流程图4.实现功能随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少;5.详细设计源代码1)CharEntity.javapackage DownCharGame;/下落的字母实体类author shenbf/public class CharEntity {//定义字母的x、yprivate int x;private int y;//字母的值private char ch;//字母下落的"速度"private int speed;//颜色private Color color;//字体private Font font;public void drawGraphics g{//设置字体g.setFontfont;//设置画笔颜色g.setColorColor.white;g.fillOvalgetX-9, getY-24, 30, 30;g.setColorcolor;g.drawStringch+"", x, y;}//下落的方法public void down{y=y+speed;}//快速生成getters和setters方法:alt+shift+s---->r---->select all---->ok public void setXint x{this.x=x;}public int getX{return this.x;}public int getY{return y;}public void setYint y{this.y=y;}public char getCh {return ch;}public void setChchar ch {this.ch = ch;}public int getSpeed {return speed;}public void setSpeedint speed {this.speed = speed;}public Color getColor {return color;}public void setColorColor color {this.color = color;}public Font getFont {return font;}public void setFontFont font {this.font = font;}}2)DownCharFrame.javapackage DownCharGame;public class DownCharFrame {public static void mainString args{JFrame frame=new JFrame;frame.setTitle"打字母游戏V1.2";frame.setBounds200,100,640,480;frame.setResizablefalse;frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;DownCharPanel panel=new DownCharPanel;frame.addpanel;frame.addKeyListenerpanel;panel.addKeyListenerpanel;panel.startDown;frame.setVisibletrue;}}3DownCharPanel.javapackage DownCharGame;public class DownCharPanel extends JPanel implements KeyListener{C harEntity chs=new CharEntity10;//消除字母4,定义统计的变量//正确率i nt accuracy = 0;//正确数i nt rightNum = 0;//打错的个数i nt errorNum = 0;//遗漏的个数i nt loseNum = 0;//初始总分i nt sum = 1000;p ublic DownCharPanel{//为数组中的每一个子科目实例化forint i=0;i<chs.length;i++{CharEntity ce = new CharEntity;int fontSize=intMath.random10+20;ce.setFontnew Font"宋体",Font.BOLD,fontSize;ce.setXintMath.random580+30;ce.setY0;ce.setSpeedintMath.random3+1;ce.setColornew ColorintMath.random256, //0,255intMath.random256,intMath.random256;ce.setChchar65+intMath.random26;chsi=ce;}}p ublic void paintGraphics g{super.paintg;//设置背景图Image bgimg;try {bgimg = ImageIO.readnew File"Picture/238.jpg";g.drawImagebgimg, 0, 0, null;} catch IOException e {e.printStackTrace;}//消除字母5,绘制统计数字g.setFontnew Font"宋体",Font.BOLD,20;g.setColorColor.yellow;g.drawString"正确数:"+rightNum, 10, 40;g.setColorColor.red;g.drawString"错误数:"+errorNum, 10, 60;g.setColorColor.green;g.drawString"遗漏数:"+loseNum, 10, 80;//绘制下落的字母forint i=0;i<chs.length;i++{chsi.drawg;}//显示成绩g.setColorColor.white;g.drawString"您当前的成绩是:"+sum, 165, 23;//Game OveriferrorNum>50||loseNum>100{g.setColorColor.red;g.setFontnew Font"宋体",Font.BOLD,100;g.drawString"Game Over", 50, 250;}}p ublic void startDown{new Thread{public void run{whileloseNum>100||errorNum>50{try {Thread.sleep40;} catch InterruptedException e {e.printStackTrace;}forint i=0;i<chs.length;i++{ifchsi.getY>=480{//消除字母6,遗漏数++loseNum++;sum -= 100;chsi.setXintMath.random580+30;chsi.setY0;chsi.setColornew ColorintMath.random256,intMath.random256,intMath.random256;chsi.setChchar65+intMath.random26;}chsi.down;}repaint;//}}}.start;}p ublic void keyTypedKeyEvent e {}p ublic void keyPressedKeyEvent e {}p ublic void keyReleasedKeyEvent e {//消除字母7,实现具体的方法//7.1获取到键盘按下的字母char key = e.getKeyChar;//和当前按下字母key相同字母y值最大对应的下标int maxYindex = -1;//7.2使用按下的字母和chs数组中所有的字母去比较forint i=0; i<chs.length; i++{ifkey==chsi.getCh||key==chsi.getCh+32{//按下的字母key和下标对应的字母“相同”ifmaxYindex==-1{//说明第一次找到maxYindex = i;}else{//说明不是第一次找到ifchsmaxYindex.getY<chsi.getY{maxYindex = i;}}}}//判断正确还是错误ifmaxYindex==-1{//一个相同的字母都没有找到errorNum++;sum -= 100;}else{//至少找到一个相同的字母rightNum++;sum += 10;chsmaxYindex.setXintMath.random580+30;chsmaxYindex.setY0;chsmaxYindex.setChchar65+intMath.random26;}}}三、运行结果截图:四、实验总结:此程序运用了一维数组,且随机性;并且把键盘事件与电脑随机的功能相联系;有它的可取之处,值得我们学习;但也有不足之处,该程序不能自动结束;这点还有待完善;该程序比较基础;可以让自己先打好深刻了解理论基础;通过这次的课程设计,给自己增加了很多有用的经验,希望在以后的基础上可以接触些更有深度和技巧型的程序;让自己能更好的运用java的功能;。
关于打字能力的测试-方案
关于打字能力的测试
为提高本项目职工计算机的实际操作能力,鼓励职工主动学习计算机知识,提高计算机应用技能和操作水平,本项目决定开展计算机打字输入能力的测试。
1.测试名称:电脑打字(中文)
2.测试负责人:李X
3.评审员:高X
4.测试对象:高XX项目部全体成员
5.测试软件:
(1)在线测试:/test/
(2)离线软件测试:从/soft/7118.html下载(3)word计时测试
6.测试时间及地点:2015年3月27日下午,高XX项目部
7.测试规则:
(1)由评审员确定测试的方式;
(2)测试选手确定选择测试的输入法;
(3)评审员现场指定打字内容,进行测试;
(4)根据测试结果进行排名。
8.说明:
(1)测试选手可以根据自己情况选择最擅长的输入法,例如智能abc,王码五笔86,搜狗拼音输入法等等);
(2)测试中,不得无故暂停,直至比赛完毕,比赛时间结束时,不得继续打字。
9.评分规则设置:
按速度和正确率为标准,进行评分,评审员做出点评并设定能力目标。
2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计实践》题目:打字训练测试软件学校:陕西工业学院学院:信息学院班级:信管12-2学号: 201213156619姓名:刘克豪2014 年 11 月 09 日基础类、IO流与异常处理程序设计一、实践要求1.掌握Java常用基础类API。
2.掌握输入输出流常用类API。
二、实践要求利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。
三、项目需求所选项目名称:打字训练测试软件四、项目设计方案EnglishGame类:主要构造都在这里完成。
MyKey类:是该程序的一个内部类。
EnglishGame作为主函数的入口。
调用actionPerformed类的方法实现事件监听器。
当发生点击事件时就会弹出输入框,开始英文打字功能。
从而达到打字训练测试的目的。
五、核心算法详细设计1 . public void actionPerformed(ActionEvent e) {}2.public void keyReleased(KeyEvent arg0) {}3. public static void main(String[] args) {}4. public JPanel creatMenu() {}六、完整源码package shiyansan;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.io.File;import java.io.FileReader;import java.util.Date;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextPane;import javax.swing.SwingUtilities; //所使用的包public class EnglishGame implements ActionListener {private static JFrame f = new JFrame("英文打字游戏");private static Container con = f.getContentPane();JPanel mainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7;JButton button1,button2,button3,button4,button,button5,button6;JTextPane tp1,tp2;FileReader fr;File frr;Date date1,date2;int num,len1,len2,count;long time;double rightrate;char[] ch;public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubString cmd = e.getActionCommand();date1=new Date();if (cmd.equals("6.退出")){System.exit(0);}else if(cmd.equals("返回")){}else{JFrame f1 = new JFrame("英文打字游戏");f1.setSize(350, 750);f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container con1 = f1.getContentPane();panel0 = new JPanel();panel1 = new JPanel();panel2 = new JPanel();panel3 = new JPanel();panel4 = new JPanel();panel6 = new JPanel();panel7 = new JPanel();tp1=new JTextPane();tp1.setBackground(Color.pink);Font size=new Font("ad",Font.BOLD,20);tp1.setFont(size);tp1.setPreferredSize(new Dimension(300,300));tp1.setForeground(Color.white);tp2=new JTextPane();tp2.setBackground(Color.lightGray);tp2.setFont(size);tp2.setPreferredSize(new Dimension(300,300)); try{if (cmd.equals("1.文本1")){fr=new FileReader("D:\\文本1.txt");frr=new File("D:\\文本1.txt");num=(int)frr.length();ch=new char[num];while(fr.read(ch)!=-1){String str=new String(ch);tp1.setText(str);}}else if (cmd.equals("2.文本2")){fr=new FileReader("D:\\文本2.txt");frr=new File("D:\\文本2.txt");num=(int)frr.length();ch=new char[num];while(fr.read(ch)!=-1){String str=new String(ch);tp1.setText(str);}}else if(cmd.equals("3.文本3")){fr=new FileReader("D:\\文本3.txt");frr=new File("D:\\文本3.txt");num=(int)frr.length();ch=new char[num];while(fr.read(ch)!=-1){String str=new String(ch);tp1.setText(str);}}else if (cmd.equals("4.文本4")){fr=new FileReader("D:\\文本4.txt");frr=new File("D:\\文本4.txt");num=(int)frr.length();ch=new char[num];while(fr.read(ch)!=-1){String str=new String(ch);tp1.setText(str);}}else if(cmd.equals("5.文本5")){fr=new FileReader("D:\\文本5.txt");frr=new File("D:\\文本5.txt");num=(int)frr.length();ch=new char[num];while(fr.read(ch)!=-1){String str=new String(ch);tp1.setText(str);}}}catch(Exception arg){System.out.println(arg);}button=new JButton("返回");button.addActionListener(this);panel1.add(new JLabel("参考练习:"));panel1.add(button);panel2.add(tp1);panel3.add(new JLabel("练习状况:"));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=new Date();tp2.addKeyListener(new MyKey());}}private class MyKey extends KeyAdapter{public void keyReleased(KeyEvent arg0) {// TODO Auto-generated method stublen1=tp1.getText().length();len2=tp2.getText().length();if(len2==len1){JFrame f2 = new JFrame("英文打字游戏");f2.setSize(250, 150);f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container con2 = f2.getContentPane();date2=new Date();time=(date2.getTime()-date1.getTime())/1000;count=0;for(int i=0;i<len1;i++){if(tp2.getText().toString().charAt(i)==tp1.getText().toString().charAt(i))count++;}rightrate=(double)count/len1*100;panel0 = new JPanel();panel1 = new JPanel();panel2 = new JPanel();panel3 = new JPanel();panel1.add(new JLabel("恭喜完成本次游戏测试!"));panel2.add(new JLabel("游戏总共耗时:"+time+"秒"+"平均速率:"+len1/time+"字/秒"));panel3.add(new JLabel("您的正确率为:"+rightrate+"%"));panel0.add(panel1);panel0.add(panel2);panel0.add(panel3);con2.add(panel0);f2.setVisible(true);}else if(len2>len1){System.exit(0);}}}public static void main(String[] args) {// TODO Auto-generated method stubf.setSize(200, 300);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);con.add(new EnglishGame().creatMenu());f.setVisible(true);}public JPanel creatMenu() {}mainPanel = new JPanel();panel0 = new JPanel();panel1 = new JPanel();panel2 = new JPanel();panel3 = new JPanel();panel4 = new JPanel();panel5 = new JPanel();panel6 = new JPanel();panel7 = new JPanel();button1 = new JButton("1.文本1");button2 = new JButton("2.文本2");button3 = new JButton("3.文本3");button4 = new JButton("4.文本4");button5 = new JButton("5.文本5");button6 = new JButton("6.退出");panel0.add(new JLabel("欢迎使用英文打字测试系统"));panel1.add(new JLabel("请选择游戏难度:"));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);mainPanel.add(panel7);mainPanel.setVisible(true);return mainPanel;}}七、使用说明与运行结果截图八、实践总结这次实践代码量很大,动手操作起来比较费力,但实验下来,感觉自己的动手能力得到很大锻炼,但程序中还有不足,比如输入错误时不能给予显著提示,自己还要多总结,多动手,不能只局限在完成任务,自己多学一些对以后的学习工作都会有很大的帮助,再接再厉。