import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String args[]) throws MyExcept
{
int num,guess=-1;
Random rnd = new Random();
num = rnd.nextInt(100);
Scanner input = new Scanner(System.in);
while(guess !=0)
{
System.out.println("请输入一个数字:");
try {
guess = input.nextInt();
}catch(Exception e) {
throw new MyExcept("只能是1~100之间的数字。");
}
if(num>guess){
System.out.println("你输入的数字太小了,请重新输入\n");
}else if(num<guess){
System.out.println("你输入的数字太大了,请重新输入\n");
}else {
System.out.println("恭喜你猜对了,一共猜了"+i+"次");
break;
}
}
}
}
import java.util.Random;
import java.util.Scanner;
/**
* 猜数字游戏(含注释)
*
* @author luweihai
*/
public final class GuessNumberGame {
/**
* Main 方法,程序的入口
*/
public static void main(String[] args) {
// 获取随机数生成器
final Random random = new Random();
// 获取控制台输入
final Scanner scanner = new Scanner(System.in);
// 游戏答案,范围在0到100之间(包含0和100)
final int keyNumber = random.nextInt(101);
// 退出时,需要输入的数字
final int exitNunmber = -1;
// 记录猜了多少次
int guessTimes = 0;
// 玩家输入的数字
int playerNumber = 0;
System.out.println("游戏开始。");
// 进入主循环
while (true) {
System.out.print("请输入一个数字:");
// 获取玩家输入的数字
playerNumber = scanner.nextInt();
// 当玩家输入退出数字时,退出游戏
if (playerNumber == exitNunmber) {
break;
}
if (playerNumber > keyNumber) {
System.out.println("大了");
} else if (playerNumber < keyNumber) {
System.out.println("小了");
} else {
System.out.printf("恭喜你!你猜对了。答案是:%s,你一共猜了%s次。", keyNumber, guessTimes);
// 退出游戏
break;
}
// 猜的次数加一
guessTimes++;
}
// 关闭IO操作
scanner.close();
System.out.println("游戏结束。");
}
}
Tips: 由于有中文字符,所以编译命令应该是javac -encoding UTF-8 GuessNumberGame.java