如何用Java编写猜数字小游戏_Java条件判断与循环实战

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

用Java写猜数字小游戏,核心在于合理运用if-else条件判断控制流程,配合whiledo-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退出:

  • 先用Scanner读入字符串,再尝试转为int,捕获InputMismatchException处理非数字输入
  • 检查数字是否在1~100范围内,超出则提示“请输入1-100之间的整数”,不计本次猜测次数
  • 合法输入才进入后续比较逻辑

用if-els

e分级反馈,引导用户缩小范围

每次输入后,用三层if-else给出明确提示:

  • if (guess == target) → 输出“恭喜!你猜中了!”并break
  • else if (guess → 提示“太小了,再试试!”
  • else(即guess > target)→ 提示“太大了,再试试!”

不建议合并判断或用switch,整数比较用if-else最直观清晰。

记录并显示猜测次数,增强游戏感

定义int count = 0在循环外,每次合法猜测后count++

  • 猜中时输出“共用了X次”
  • 可额外加一句评价,比如count

注意只对有效数字输入计数,非法输入(如字母、超范围数)不增加count