打字对于我们还是非常重要的,现在也能找到各种打字练习软件,但既然学了些程序的皮毛,那何不自己写一个练习打字的程序呢?
import java.util.Scanner;
import java.util.Random;
class TypePrac{
public static char object(){
Random ran=new Random();
int temp=ran.nextInt(94);
char ch=(char)(temp+33); //首先我们需要系统可以随机给出键盘上的字符,
return ch; //所以这里新建了一个方法,随机生成字符,作为我们要打的字。
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("来一把?(1/0)");
int val=sc.nextInt();
int i=0; //这里的i是一个计数器,用来计算得分的
if(val==1){
int j=1;
while (j==1){ //如果要不断的执行练习打字的过程,下main这段程序要不断执行,
char ch=object(); //所以这里用while建立了一个死循环,在满足一定条件跳出循环。
System.out.println(ch);
System.out.print("请输入:");
String str=sc.next();
String esc="esc"; //这里是跳出条件,在显示请输入的时候,输入esc,就可以终止程序;
boolean flag1=str.equals(esc);
if(flag1!=true){
char ch1=str.charAt(0);//Scanner不能输入char型变量,这里将输入的String型数据转化为char型。
boolean flag=ch==ch1;
if(flag==true){
i++;
System.out.println(flag+"===================>得分:"+i);
}else{
i--;
System.out.println(flag+"===================>得分:"+i);
}
}else{
j++; //这里是确认输入esc后,计数器j自增,跳出循环。
System.out.println("Game Over!");
}
}
}else{ //如果一开始询问是否开始时,输入的不是1,是其他数据,程序结束。
System.out.println("Game Over!");
}
}
}
以上就是所有的程序内容了,主要思想就是利用随机数和ASCII码表生成目标数据,再将输入数据与目标数据比对,以及不断循环这一部分内容。同时,还有一些内容可以考虑加入,比如加入一个计时系统,生成单词或句子进行练习等等。