A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何亚辉 中级黑马   /  2016-5-21 00:36  /  982 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何亚辉 于 2016-5-22 14:45 编辑

import java.util.Scanner;
class TypeLetter {
        static int end =0;
        static int time =0;
        public static void main(String[] args) {
                System.out.println("欢迎来到玉梅打字游戏");
                System.out.println("请选择");
                System.out.println("1. 英文字母");
                System.out.println("2, 中文汉字");
                Scanner sc = new Scanner(System.in);
                int a =sc.nextInt();
                boolean b = true;
                int typeNumber=1;
                char[] getType = new char[30];
char[] standard = {'黎','玉','梅','我','爱','你','永','远','一','生','不','变','天','长','地','久','有','时','尽','此','恨','延','绵','无','绝','期'};
                if (a==1) {
                        standard=new char[]{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','U','V','W','X','Y','O','P','Q','R','S','T','Z'};
                }
                int wrongNumber=0;
                String s;
                Time t = new Time();
                new Thread(t).start();
               
        A:        while (true) {
                if (b) {
                        while (true) {       
                                if (typeNumber%31==0) {
                                        System.out.println("\n"+"请输入上面的字母");
                                        b=false;
                                        continue A;
                                }
                                getType[typeNumber %31-1]= standard[(int)(standard.length*Math.random())];
                                System.out.print(getType[typeNumber %31 -1]);
                                try {
                                        Thread.sleep(100);
                                }
                                catch (Exception e) {
                                }       
                                typeNumber++;
                        }
                }
                if (!b)  {
                        Scanner s0 = new Scanner(System.in);
                        s= s0.nextLine();
                       
                        System.out.println();
                               
                        if (s.length()==30&&typeNumber<63) {       
                                for (int i=0;i<=29 ;i++ ) {
                                        if (!(s.charAt(i)==(getType))) {
                                                wrongNumber++;
                                        }
                                }
                                b=true;
                                s="";
                                typeNumber++;
                                if (typeNumber==63) {
                                if (wrongNumber >=5) {
                                        System.out.println("您一共输入错误"+wrongNumber +"个字母, 太差了");
                                }else if (wrongNumber==0) {
                                System.out.println("你太厉害了,一个都没错哦");
                                }else {
                                System.out.println("您一共输入错误"+wrongNumber +"个字母, 还需努力");
                                }
                                end=1;
                                break;
                        }
                                continue A;
                        }       
                }
                }       
        }
}

class Time extends TypeLetter implements Runnable {
       
        public void run(){
        while (true) {
                if (end ==1) {
                        System.out.println("您一共用时"+time +"秒");
                        return;
                }
                try {
                        Thread.sleep(1000);
                        time++;
                }
                catch (Exception e) {
                }
        }
        }
}

17 个回复

倒序浏览
这是一个很简单的程序,   练习打字,,,打完字之后会统计你打错多少个字,,,,,
回复 使用道具 举报
好长的代码
回复 使用道具 举报
路过学习
回复 使用道具 举报
感谢分享,辛苦
回复 使用道具 举报
很牛呀,想必花了一些时间。
回复 使用道具 举报
哈哈  楼主会玩....
回复 使用道具 举报
Mr.Wu 发表于 2016-5-21 08:06
很牛呀,想必花了一些时间。

没有,这个逻辑恨简单的,,   我现在又加了一点功能,可以选择键入中文或者英文,,然后最后会告诉你,你花了多少时间
回复 使用道具 举报
pal_xie 发表于 2016-5-21 22:20
哈哈  楼主会玩....

嘿嘿, 就是 自己在金山练字的时候感觉好像这个程序不是很难写,所以就试一下..   
回复 使用道具 举报
厉害!   ~~~
回复 使用道具 举报
哎呦,不错哟
回复 使用道具 举报

谢谢
回复 使用道具 举报
感觉是秀恩爱的!
回复 使用道具 举报
666666我刚学基础 感觉看着有点费劲啊啊啊啊!!!!!
回复 使用道具 举报
不错,这么多代码?
回复 使用道具 举报
TypeLetter.java:50: 错误: 不可比较的类型: char和char[]
                                         if (!(s.charAt(i)==(getType))) {
                                                          ^
1 个错误
回复 使用道具 举报
Aaron9527 发表于 2016-5-22 21:34
TypeLetter.java:50: 错误: 不可比较的类型: char和char[]
                                         if ( ...

很奇怪,我的代码getType后面明明是有个【i】的,   传上来的时候就没了
回复 使用道具 举报
何亚辉 发表于 2016-5-23 00:14
很奇怪,我的代码getType后面明明是有个【i】的,   传上来的时候就没了

知道啦 谢谢楼楼~很棒噢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马