java实现猜数字游戏(附带源码)

下面是一个简单的 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("游戏结束,感谢游玩!");
    }
}

代码说明:

  1. 导入包

    • java.util.Random:生成随机数。

    • java.util.Scanner:读取控制台输入。

  2. 类定义与 main 方法

    • 整个游戏逻辑都在 main 方法中实现。

  3. 生成随机数

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。

    • 然后分别判断 guesstargetNumber 的大小关系,给出“太小”“太大”或“猜对了”的提示。

    • 当玩家猜对时跳出 while (true) 循环,游戏结束。

  • 关闭资源

scanner.close();
    • 在程序结束前关闭 Scanner,释放底层输入流。

这样就完成了一个最基本的“猜数字”游戏。你可以在此基础上再扩展,例如:

  • 限制最大猜测次数,超过次数即游戏失败;

  • 记录历史猜测并在用户猜测重复时给予提示;

  • 改为 GUI 界面或网络版多人对战等。

将上述代码保存为 GuessNumberGame.java,在命令行或 IDE 中编译并运行即可体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值