You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java两位数随机猜数游戏健壮版开发技术咨询

健壮版两位数猜数字游戏实现

嘿,我帮你把这段代码整理完善了,补全了未完成的部分,还加了输入校验等健壮性处理,让游戏更稳定易用:

import static java.lang.System.*;
import java.util.*;

public class RandomNumberGuessing {
    public static Scanner scan = new Scanner(in);

    public static void main(String args[]) {
        Random generator = new Random();
        int Low = 10;
        int High = 99;
        // 生成10-99之间的随机两位数(修正原代码边界问题,确保能生成99)
        int answer = generator.nextInt(High - Low + 1) + Low;
        // 用整除和取余拆分十位、个位,比字符串转换更高效
        int answerFirstDigit = answer / 10;
        int answerSecondDigit = answer % 10;

        out.println("欢迎来到两位数猜数字游戏!");
        out.println("我已经生成了一个10到99之间的随机数,快来猜猜看吧!");

        while (true) {
            out.print("请输入你的猜测:");
            // 校验输入是否为有效整数,避免非法输入崩溃
            if (!scan.hasNextInt()) {
                out.println("请输入有效的数字哦!");
                scan.next(); // 清空无效输入缓存
                continue;
            }

            int guess = scan.nextInt();
            // 校验输入是否在规定范围内
            if (guess < Low || guess > High) {
                out.println("请输入10到99之间的两位数!");
                continue;
            }

            // 拆分猜测数字的十位和个位
            int guessFirstDigit = guess / 10;
            int guessSecondDigit = guess % 10;

            // 判断猜测结果并给出反馈
            if (guess == answer) {
                out.println("恭喜你!猜对了!答案就是" + answer);
                break;
            } else {
                StringBuilder hint = new StringBuilder();
                if (guessFirstDigit == answerFirstDigit) {
                    hint.append("十位数字猜对了!");
                }
                if (guessSecondDigit == answerSecondDigit) {
                    hint.append("个位数字猜对了!");
                }
                if (hint.length() == 0) {
                    hint.append("十位和个位数字都不对哦");
                }
                hint.append(" 你猜的数字比答案").append(guess > answer ? "大" : "小").append("。");
                out.println(hint);
            }
        }
        scan.close();
    }
}

核心优化点说明:

  • 修复随机数边界:原代码High - Low会导致无法生成99,改成High - Low + 1确保覆盖所有两位数
  • 高效数字拆分:用数学运算替代字符串转换,性能更优
  • 输入健壮性处理:拦截非整数、超出范围的输入,避免程序异常终止
  • 友好反馈机制:根据猜测结果给出精准提示,提升游戏体验

内容的提问来源于stack exchange,提问作者mdeligt_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:33:20