public class TypeKey {
public static void main(String[] args) {
System.out.println("键盘练习(输入#结束程序)");
System.out.println("输入显示的字母(回车)\n");
Letter letter;
letter = new Letter();
GiveLetterThread giveChar;
InuptLetterThread typeChar;
giveChar = new GiveLetterThread();
giveChar.setLetter(letter);
giveChar.setSleepLength(3200);
typeChar =new InuptLetterThread();
typeChar.setLetter(letter);
giveChar.start();
typeChar.start();
}
}
public class Letter {
char c='\0';
public void setChar(char c) {
this.c=c;
}
public char getChar() {
return c;
}
}
public class GiveLetterThread extends Thread {
Letter letter;
char startChar ='a',endChar = 'z';
int sleepLength =5000;
public void setLetter(Letter letter) {
this.letter = letter;
}
public void setSleepLength(int n) {
sleepLength = n;
}
public void run() {
char c=startChar;
while(true) {
letter.setChar(c);
System.out.printf("显示的字符:%c%d\n",letter.getChar());
try {
Thread.sleep(sleepLength);
}
catch(InterruptedException e) {}
c=(char)(c+1);
if(c>endChar)
c=startChar;
}
}
}
import java.awt.*;
import java.util.Scanner;
public class InuptLetterThread extends Thread{
Scanner reader;
Letter letter;
int score=0;
InuptLetterThread(){
reader=new Scanner(System.in);
}
public void setLetter(Letter letter) {
this.letter=letter;
}
public void run() {
while(true) {
String str=reader.nextLine();
char c=str.charAt(0);
if(c==letter.getChar()) {
score++;
System.out.printf("\t\t输入对了,目前分数%d\n",score);
}
else {
System.out.printf("\t\t输入错了,目前分数%d\n",score);
}
if(c=='#')
System.exit(0);
}
}
}