我正在编写一个程序,其中随机方法生成一个介于 1 和 100 之间的随机数,然后用户猜测这个数字是什么。到目前为止,我构建的代码中的所有内容都运行良好,除了程序还计算用户猜测尝试次数的部分。我知道如何获取用户尝试计数的一般思路:创建一个计数跟踪变量,然后在每次用户输入时递增它。现在无论我如何或在何处应用计数跟踪变量,用户尝试次数始终为 2,即使实际尝试次数要多得多。我用谷歌搜索了这个问题,并从结果中尝试了不同的想法(例如:将 count++ 放入每个“if/else”语句中),但没有任何效果。谁能说出我的代码有什么问题,以及为什么它总是显示 2 作为用户尝试次数?预先感谢您的任何帮助。System.out.println("Enter a number between 0 and 100: ");int randomDigit = (0 + (int) (Math.random() * 101));while (true) { Scanner scr = new Scanner(System.in); int guess = scr.nextInt(); int guessCount = 0; guessCount++; guessCount = guessCount + 1; if ((guess < 0) || (guess > 100)) { System.out.println("You entered an invalid number. \nPlease enter a valid number."); } else if (guess > randomDigit) { System.out.println("Your guess is too high. \nPlease enter another guess."); } else if (guess < randomDigit) { System.out.println("Your guess is too low. \nPlease enter another guess."); } else if (guess == randomDigit) { System.out.println("Congradulations, you found the number! It is " + randomDigit + ".\nThe number of attempts it took you to guess the correct answer is: " + guessCount + "."); break; }}上面的代码总是有 2 作为用户尝试的次数。
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
移动这一行:int guessCount = 0; 在循环之外,因为您不断重复变量的初始化,因此实际上并没有计算它。当您使用计数器时,请始终在 while/for 循环之外定义它。祝你好运
添加回答
举报
0/150
提交
取消