У меня проблема с моим кодом, где программа не будет воспроизводиться снова, но также не закончится.Java Guessing Game бесконечный цикл
Код продолжает цикл во внутреннем цикле после выигрыша или слишком много догадок.
Вот мой код:
/**
* This program will prompt the user to guess a secret number
* This number will is between 1 and N, where N is a postive number
*
* @author: Perry Chapman
*/
import java.util.Scanner;
public class SecretNumber2
{
public static void main(String [] args)
{
int N;
int randomNumber;
int guess;
int tries, maxTries;
boolean win = false;
boolean playing = true;
int playAgain = 1;
tries = 0;
while(playing == true)
{
Scanner input = new Scanner(System.in);
System.out.println("This is a guessing game.");
System.out.println("What is the max number of tries: ");
maxTries = input.nextInt();
System.out.println("Enter a value between 1 and 1000: ");
N = input.nextInt();
randomNumber = (int)(N * Math.random()) + 1;
while (win == false)
{
System.out.println("Enter your guess: ");
guess = input.nextInt();
tries++;
if (guess == randomNumber)
{
System.out.println("Congratulations! The number of guesses it took you was " + tries);
win = true;
System.out.println("Would you like to play again? \n (1)Yes or (2)No: ");
playAgain = input.nextInt();
if(playAgain == 1) {
playing = true;
}
else if (playAgain == 2) {
playing = false;
}
tries = 0;
}
else if(guess < randomNumber)
System.out.println("Too low, guess again.");
else if(guess > randomNumber)
System.out.println("Too high, guess again.");
else if(tries == maxTries)
{
System.out.println("You have exceeded the max number of tries. \nYou lose.");
System.out.println("\nWould you like to play again?\n (1)Yes or (2)No: ");
playAgain = input.nextInt();
if(playAgain == 1) {
playing = true;
}
else if(playAgain == 2) {
playing = false;
}
tries = 0;
}
}
}
}
}
Почему вы спрашиваете: «Какое максимальное количество попыток?» – Sedrick
уточнить вопрос –