Как мне добавить опцию повторного воспроизведения в этот java-код?

#java

#java

Вопрос:

скриншот файла notepad

есть ли способ объявить символ на ранней стадии, но использовать его только позже, потому что, когда я пытаюсь объявить его как 0 на ранней стадии, это просто вызовет ошибку, потому что ответ while должен быть «Y». я мог бы запустить его в цикл и воспроизвести снова, задав вопрос перед воспроизведением, но я только хочу, чтобы он запрашивал возможность повторного воспроизведения в конце игры. был бы признателен, если бы кто-нибудь мог сказать мне, как заставить это работать, спасибо.

 public class soodsami_a3 {

    public static void main(String[] args) {
        Scanner sam = new Scanner(System.in);
        // Random number generator
        int Randomizer = (int)(Math.random() * 100)   1;

        while (playagain == 'y') {
            System.out.println("I'm thinking of a number between 1 and 100");
            System.out.println("What is it?");
            System.out.print("Guess:  ");
            int Useranswer = sam.nextInt();
            
            while (Useranswer != Randomizer) {
                if (Useranswer < Randomizer) {
                    System.out.println("Too low.");
                    System.out.print("Guess:  ");
                    Useranswer = sam.nextInt();
                } else if (Useranswer > Randomizer) {
                    System.out.println("Too high.");
                    System.out.print("Guess:  ");
                    Useranswer = sam.nextInt();
                }
            
                if (Useranswer == Randomizer) {
                    System.out.println("You got it!");
                }
            
                System.out.print("would you like to play again (Y/N) ");
                char playagain = sam.next().toUpperCase().charAt(0);
            }
        }
        
        System.out.println("Thanks for playing");
    }
}
 

Комментарии:

1. Пожалуйста, добавьте код к вопросу. не в виде изображения.

2. извините, я новичок во всем этом, поэтому, пожалуйста, не обращайте внимания на то, как это выглядит

3. @SamikSood oracle.com/java/technologies/javase /… ознакомьтесь с соглашениями об именовании, когда у вас будет время..

Ответ №1:

 public static void main(String[] args) {
    // ...
    char playagain = 'y';

    while (playagain == 'y') {
        // ...
        playagain = scan.next().toLowerCase().charAt(0);
    }

    System.out.println("Thanks for playing");
}
 

Ответ №2:

Было бы лучше иметь playagain as a boolean и установить для false него значение при инициализации. Затем используйте do-while цикл, чтобы условие оценивалось в конце цикла, чтобы оно выполнялось хотя бы один раз

 boolean playAgain = false;
do {
    System.out.println("I'm thinking of a number between 1 and 100");
    //..other code..
    playAgain = sam.next().toUpperCase().charAt(0) == 'Y';
} while (playAgain);