一阶段-TwelveThWork-2-随机整数

来源:互联网 发布:淘宝首页模板怎么制作 编辑:程序博客网 时间:2024/05/17 07:24
/*
练习内容二:猜数字
编写程序Guess,随机地产生一个整数,表示从A到Z的字母。之后,通过命令行参数读入一个字母,试图猜出随机产生的字
母。无论猜得是否正确,都打印出相应的信息。另外,如果猜对了,程序退出。
*/

package TwelveThWork;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Random;

public class Guess
{
    public static void main(String[] args)
    {
       driver();
    }

    public static void driver()
    {
         InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader buff = new BufferedReader(in);
        Random random = new Random();
        int ranNum ; //电脑随机生成的一个整数
        int readNum = 0; //用户输入的数
      do
        {
            ranNum = random.nextInt(91);//随机产生一个65至90范围的整数,ASCII码对应为A至Z的大写字母
        }while(ranNum<65);
        System.out.println("请随机输入一个从A至Z的其中一个大写字母:");
        while(true)            //使用户能够循环输入不同的大写字母
        {
          try{
              readNum = buff.read(); //从键盘读入一个字符,并将其转化为ASCII码的整数值
              if(readNum == '\n')  //过滤掉键盘输入的回车
              {
                   continue;
              }
            if(readNum>=65 && readNum<=90) //判断用户输入的是一个大写字母
            {
                if(ranNum==readNum)  //用户输入的字母与电脑生成的一样时
                {
                    System.out.println("恭喜你猜对了!电脑随机生成的就是 "+(char)ranNum);
                    System.exit(0);
                }
                 if(readNum>ranNum)  //用户输入的字母比电脑生成的大时
                {
                    System.out.println("大了");
                }
                if(readNum<ranNum)  //用户输入的字母比电脑生成的小时
                {
                    System.out.println("小了");
                }
            }
            else  if(readNum<65||readNum>90) //判断用户输入的不是一个A-Z的大写字母
            {

              System.out.println("你输入的不是A~Z中的一个大写字母");
            }

            }catch(Exception e)
            {
                System.out.println(e.toString());
            }
          }
    }
}
原创粉丝点击