Java HiLow猜数字游戏添加用户重玩提示功能问题咨询
实现方案
你可以通过嵌套双层循环的方式实现需求:外层循环控制是否开启新局,内层循环处理单局的猜数字逻辑。修改后的完整代码如下:
import java.util.Scanner; import java.util.Random; public class HiLow { public static void main (String[] args) { Random generator = new Random(); Scanner scan = new Scanner(System.in); // 外层循环:控制重开逻辑 while(true) { int num1,guess; int count = 0; // 每局重新生成随机数、重置猜测次数 num1 = generator.nextInt(100) + 1; // 内层循环:单局猜数字逻辑 while(true) { System.out.print("请输入1-100之间的整数,任意时候输入0即可退出本局:"); guess = scan.nextInt(); count++; if(guess == num1 || guess == 0) { if(guess == 0) { System.out.println("感谢游玩"); } else { System.out.println("恭喜你猜对了,你的总猜测次数为:" + count ); } // 弹出重开确认 System.out.print("是否愿意重新游玩?输入Y/y确认,其他任意键退出程序:"); String choice = scan.next(); if(!choice.equalsIgnoreCase("y")) { // 用户不重开,关闭资源后直接结束程序 scan.close(); return; } // 用户选重开,跳出内层循环,回到外层重新初始化本局参数 break; } else if (guess > 100 || guess < 1) { System.out.print("输入不符合要求,请输入1-100范围内的数字:"); count--; } else if (guess > num1) { System.out.println("你猜的数字太大了"); } else { System.out.println("你猜的数字太小了"); } } } } }
核心修改点
- 新增外层循环包裹全部游戏逻辑,每次确认重开时会重新初始化本局随机数和猜测次数
- 原有单局结束的
break仅跳出内层猜数字循环,执行后续的重开确认逻辑 - 只有用户选择不重开时才退出程序,否则自动回到新局初始化阶段
内容的提问来源于stack exchange,提问作者Coalharbour
相关产品推荐
相关产品推荐

