/*
猜数字游戏:有一个1~100之间一个数,当猜的时候,会给大或小的提示。
思路:
1,先有一个随机数。
2,获取键盘录入,并将录入的数据变成整数。
3,将获取数字和随机数进行比较并给出提示。
*/
import java.util.*;
import java.io.*;
class Guess
{
private int ranNum;
Guess()
{
Random r = new Random();
ranNum = r.nextInt(100)+1;
}
public void play()
{
System.out.println("开始游戏,输入1~100之间的数字:");
boolean b = false;
while(!b)
{
try
{
int num = getNum();
if(num>100 || num<1)
System.out.println("输入的数字超出范围");
else
b = guess(num);
}
catch (NumberFormatException e)
{
System.out.println("输入的数字非法,重新输入");
}
catch (IOException e)
{
System.out.println("获取输入失败。");
throw new RuntimeException("失败");
}
}
}
/*
获取键盘录入。
*/
private int getNum()throws IOException ,NumberFormatException
{
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
String line = bufr.readLine();
return Integer.parseInt(line);
}
/*
猜数字的功能。
*/
private boolean guess(int num)
{
boolean b = false;
if(num>ranNum)
System.out.println("大了,继续");
else if(num<ranNum)
System.out.println("小了,继续");
else
{
System.out.println("中了,恭喜");
b = true;
}
return b;
}
}
class GuessNumberGame
{
public static void main(String[] args)
{
new Guess().play();
}
}