下面是一个简单的 Java 控制台版“猜数字”游戏示例。程序会随机生成一个 1–100 之间的整数,玩家不断输入猜测,程序会提示“太大”、“太小”或“猜对了”。猜对后会输出总共尝试了多少次。
import java.util.Random;
import java.util.Scanner;
/**
* 猜数字游戏
* 规则:程序随机生成一个 1 到 100 之间的整数,玩家通过输入猜测数字,程序提示“太大”、“太小”或“猜对了”。
* 玩家重复猜测直到猜中为止,最后输出猜测次数。
*/
public class GuessNumberGame {
public static void main(String[] args) {
// 创建 Scanner 用于读取控制台输入
Scanner scanner = new Scanner(System.in);
// 创建 Random 用于生成随机数字
Random random = new Random();
// 生成 1 到 100 之间的随机整数(包含 1 和 100)
int targetNumber = random.nextInt(100) + 1;
int guessCount = 0; // 记录玩家猜测次数
int guess; // 玩家每次输入的猜测值
System.out.println("欢迎来到猜数字游戏!");
System.out.println("我已经想好了一个 1 到 100 之间的整数,请你来猜。");
// 循环直到玩家猜中为止
while (true) {
System.out.print("请输入你的猜测(1–100):");
// 读取玩家输入的整数
// 如果输入不是整数,会抛出 InputMismatchException,程序会崩溃
// 这里假设玩家按照规则输入整数;如需健壮性,可加 try-catch 或 nextLine 验证
guess = scanner.nextInt();
guessCount++; // 每次输入后都算一次尝试
// 比较玩家猜测与目标数字
if (guess < targetNumber) {
System.out.println("太小了,请再试一次。");
} else if (guess > targetNumber) {
System.out.println("太大了,请再试一次。");
} else {
// 猜对了
System.out.println("恭喜你,猜对了!");
System.out.println("你一共猜了 " + guessCount + " 次。");
break; // 退出循环,游戏结束
}
}
// 关闭 Scanner
scanner.close();
System.out.println("游戏结束,感谢游玩!");
}
}
代码说明:
-
导入包
-
java.util.Random
:生成随机数。 -
java.util.Scanner
:读取控制台输入。
-
-
类定义与
main
方法-
整个游戏逻辑都在
main
方法中实现。
-
-
生成随机数
Random random = new Random();
int targetNumber = random.nextInt(100) + 1;
-
-
random.nextInt(100)
会生成一个介于 0(包含)到 100(不包含)的整数,加 1 后即可得到 1–100 之间的随机数。
-
-
读取玩家猜测并判断
guess = scanner.nextInt();
guessCount++;
if (guess < targetNumber) {
System.out.println("太小了,请再试一次。");
} else if (guess > targetNumber) {
System.out.println("太大了,请再试一次。");
} else {
System.out.println("恭喜你,猜对了!");
System.out.println("你一共猜了 " + guessCount + " 次。");
break;
}
-
-
每次读取玩家输入后,先把
guessCount
加 1。 -
然后分别判断
guess
与targetNumber
的大小关系,给出“太小”“太大”或“猜对了”的提示。 -
当玩家猜对时跳出
while (true)
循环,游戏结束。
-
-
关闭资源
scanner.close();
-
-
在程序结束前关闭
Scanner
,释放底层输入流。
-
这样就完成了一个最基本的“猜数字”游戏。你可以在此基础上再扩展,例如:
-
限制最大猜测次数,超过次数即游戏失败;
-
记录历史猜测并在用户猜测重复时给予提示;
-
改为 GUI 界面或网络版多人对战等。
将上述代码保存为 GuessNumberGame.java
,在命令行或 IDE 中编译并运行即可体验。