猜数字小游戏用Random生成1~100目标数,Scanner获取输入,while循环控制流程,if-else分级提示大小,合法输入才计数并反馈,非数字或越界输入不计次且提示重输。

用Java写猜数字小游戏,核心在于合理运用if-else条件判断控制流程,配合while或do-while循环实现重复猜测,再结合Scanner获取用户输入、Random生成随机数即可完成。关键不是堆砌语法,而是理清“生成目标→接收输入→比较反馈→决定是否继续”的逻辑链。
生成1~100之间的随机目标数字
使用java.util.Random生成整数最直接:
Random rand = new Random();-
int target = rand.nextInt(100) + 1;(nextInt(100)返回0~99,+1后变成1~100)
避免用Math.random()转整型,易出边界错误;也不建议每次猜都新建Random对象,复用一个实例更稳妥。
用while循环持续接收并验证用户输入
用while(true)搭建主循环框架,内部用break退出:
立即学习“Java免费学习笔记(深入)”;
- 先用
Scanner读入字符串,再尝试转为int,捕获InputMismatchException处理非数字输入 - 检查数字是否在1~100范围内,超出则提示“请输入1-100之间的整数”,不计本次猜测次数
- 合法输入才进入后续比较逻辑
用if-else分级反馈,引导用户缩小范围
每次输入后,用三层if-else给出明确提示:
-
if (guess == target)→ 输出“恭喜!你猜中了!”并break else if (guess → 提示“太小了,再试试!”-
else(即guess > target)→ 提示“太大了,再试试!”
不建议合并判断或用switch,整数比较用if-else最直观清晰。
记录并显示猜测次数,增强游戏感
定义int count = 0在循环外,每次合法猜测后count++:
- 猜中时输出“共用了X次”
- 可额外加一句评价,比如
count
注意只对有效数字输入计数,非法输入(如字母、超范围数)不增加count。










