Что ж, у меня есть проблема с hw, когда я вынужден использовать только вложенные циклы while, но вообще не делать никаких циклов. Так что в основном у меня не работает код, но он не будет запускать части цикла, он продолжает говорить да или нет.Предполагается, что он будет выглядеть следующим образом
Угадайте секретный номер.
Введите максимальное значение для секретного номера: 10
Был выбран новый секретный номер.
Введите предположение: 3
Слишком низко;повторите попытку.
Введите предположение: 8
Слишком низко;Попробуйте снова.
Введите предположение: 9
Слишком низко;повторите попытку.
Введите предположение: 10
Вы выиграли в 4 догадках!
Играть снова?(Да / Нет) y
Выбран новый секретный номер.
Введите предположение: 7
Слишком высоко;повторите попытку.
Введите предположение: 3 Слишком низко;попробуйте еще раз.
Введите предположение: 5
Вы выиграли в 3 догадках!
Играть снова?(Да / Нет) n
public static void main(String arg[])
{
int guess = 0,max,guesses = 0;
String response;
Scanner input= new Scanner(System.in);
System.out.println("Guess the secret number\n");
System.out.println("Enter maximum value for secret number: ");
max=input.nextInt();
int numbers=(int) (Math.random()* max) + 1;
while(true)
{
System.out.println("A new secret number has been chosen.");
while (guess!=numbers)
{
System.out.println("Enter guess");
guess=input.nextInt();
guesses++;
if (guess<numbers)
{
System.out.println("Two low; Try again ");
}
else if (guess>numbers)
{
System.out.println("To high; Try again");
}
}
System.out.println("You won in " + guesses + "!");
System.out.print("\nPlay again? (Y/N)");
response = input.next();
if(response.equalsIgnoreCase("y"))
{
continue;
}
else
{
break;
}
}
input.close();
}
(это то, что я получаю)
Введите максимальное значение для секретного номера: 5
Был выбран новый секретный номер.
Введите догадку 4
до высокой;Попробуйте еще раз
Введите угадать 3
Вы выиграли в 2!
Играть снова?(Да / Нет) y
Был выбран новый секретный номер.
Вы выиграли за 2!
Играть снова?(Да / Нет) y
Был выбран новый секретный номер.
Вы выиграли за 2!
Играть снова?(Да / Нет)
(поэтому цикл не будет вызывать, чтобы угадать снова)