タイピングソフトを作成しよう

Java

タイピングの速度を計測する。以下のようなタイピングソフトを作成せよ。

[仕様]
10文字のアルファベットをランダムに表示しその通りに入力する。
これを繰り返し、3回成功するまでの時間を計測する。
もし間違えた場合はミスと表示しカウントには含めない。

[実行例1]

dyzgjkxlca
dyzgjkxlca [enter]
kzhxaqtbzj
kzhxaqtbzj [enter]
slbwmkadhm
slbwmkabbh [enter]
ミス
qnnoekgdxw
qnnoekgdxw [enter]
22840(ms)

import java.util.*;
public class Main {

	public static void main(String[] args) {
		final int Q_LENGTH=10,CLEAR_COUNT=3;
		//char[] chars={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		char[] chars=new char[26];
		for(int i=0;i<26;i++){
			chars[i]=(char)('a'+i);
		}
		
		char[] qs=new char[Q_LENGTH];
		int correct=0;
		Scanner sc=new Scanner(System.in);
		long start=System.currentTimeMillis();
		while(correct<CLEAR_COUNT){
			makeQs(chars,qs);
			String qStr=String.valueOf(qs);
			System.out.println(qStr);
			String input=sc.nextLine();
			if(input.equals("q")){
				return;
			}
			if(qStr.equalsIgnoreCase(input)){
				correct++;
			}else{
				System.out.println("ミス");
			}
		}
		long end=System.currentTimeMillis();
		System.out.printf("%d(ms)%n", end-start);
	}
	public static void makeQs(char[] chars,char[] qs){
		Random rand=new Random();
		for(int i=0;i<qs.length;i++){
			qs[i]=chars[rand.nextInt(chars.length)];
		}
	}

}
Java
スポンサーリンク
シェアする
mjpurinをフォローする
ジョイタスネット

コメント

タイトルとURLをコピーしました