#java
#java
Вопрос:
есть ли способ объявить символ на ранней стадии, но использовать его только позже, потому что, когда я пытаюсь объявить его как 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);