目录
你是否因为自己回消息速度慢,而导致平白无故花出几百大洋去哄女朋友?你是否因为打字速度慢在高强度对线的时候,导致自我颜面尽失?打字速度在当今社会已经成为了衡量男人行不行的第二标准了。所以才有了本项目的创建,目的就是增强大家的打字速度(代码能力)。
演示效果
一秒1.2键,害的多练~!
实现功能步骤
1.创建随机的一串字符
思路:
先创建字母表
String str = "abcdefghijklmnopqrstuvwxyz";
str.charAt()可以获取字符串上面的字符。
String str = "abcdefghijklmnopqrstuvwxyz";
int i;
str.charAt(i);
所以我们得用上新的神秘力量Random。
// 随机数对象
Random random = new Random();
random.nextInt(22);
含义为获取范围在0到21之间的数字
那么聪明的你能想出来如何获字符串内部的字符了吗?
实现代码如下:
String str = "abcdefghijklmnopqrstuvwxyz";
Random random=new Random();
str.charAt(random.nextInt(1));
随机获取字符串内的字符
升级一下:随机获取字符
String str = "abcdefghijklmnopqrstuvwxyz";
// 随机数对象
Random random = new Random();
// 打印我们需要打入的字符
for (int i = 0; i < 50; i++) {
char zifu = str.charAt(random.nextInt(26));
System.out.print(zifu);
arr[i] = zifu;
}
实现文字匹对功能
// 定义变量
int piPeiOne;
double correct = 0;//打字正确数
double printNum = 0;//总共打了多少字
char[] arr = new char[50];
Scanner scanner = new Scanner(System.in);
接下来的功能我就放详细代码了,大家一定看得懂。
public static void main(String[] args) {
String str = "abcdefghijklmnopqrstuvwxyz";
// 随机数对象
Random random = new Random();
// 定义变量
int piPeiOne;
double correct = 0;//打字正确数
double printNum = 0;//总共打了多少字
// 定义一个数组
char[] arr = new char[50];
Scanner scanner = new Scanner(System.in);
System.out.println("输入1:纯字母\t输入2:字母+数字 \t输入3:字母+数字+符号\t输入4:java关键字");
switch (scanner.nextInt()) {
case 1:
long start = System.currentTimeMillis();
// System.out.println(start);
// 打印我们需要打入的字符
for (int i = 0; i < 50; i++) {
char zifu = str.charAt(random.nextInt(26));
System.out.print(zifu);
arr[i] = zifu;
}
scanner = new Scanner(System.in);
String s = scanner.next();
//开始时候的时间
// long start = System.currentTimeMillis();
// System.out.println(start);
// 进行输入匹配
for (piPeiOne = 0; piPeiOne < 50; piPeiOne++) {
// 非空判断
if (s.length() > piPeiOne) {
char x =s.charAt(piPeiOne);
// System.out.println(x);
// 将打出的字符与上述的随机字符进行匹配
printNum++;
if (x == arr[piPeiOne]) {
correct++;
// System.out.println(correct);
}
} else {
long end=System.currentTimeMillis();
System.out.println(end);
System.out.println("打字速度"+printNum*60000/(end-start)+"正确率:"+(correct*100/printNum)+"%");
// System.out.println(end);
break;
}
}
break;
}
}