Я пишу программу, в которой случайный метод генерирует случайное число от 1 до 100, а затем пользователь угадывает, что это за число.
Пока все в коде, который я построил, работает нормально, кроме той части, где программа также вычисляет количество попыток угадать пользователя.
Мне известна общая идея, как получить счетчик попыток пользователя: создать переменную отслеживания счетчика, а затем увеличивать ее с каждой записью пользователя. Теперь независимо от того, как или где я применяю переменные для отслеживания количества, количество пользовательских попыток всегда равно 2, хотя реальных попыток гораздо больше. Я погуглил эту проблему и попробовал разные идеи из результатов (например: вставьте count ++ в каждое утверждение «если / еще»), но ничего не работает.
Может кто-нибудь сказать, что не так с моим кодом, и почему он всегда показывает 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 попытки пользователя.