Я пытаюсь сделать очень обычную игру, где вы угадываете число между 1-1000, используя цикл do. Все работает, за исключением случаев, когда я, наконец, сделаю правильную догадку, мне все же предлагается сделать еще одно предположение, и когда я снова введу то же правильное предположение, программа прекратится, как и предполагалось.Java-помощь в отношении цикла (do loops)
Зачем мне это делать, чтобы, наконец, заставить мою программу работать? Я зацикливаюсь в дополнительное время? Кроме того, если я сделаю правильную догадку (компилятор скажет, что я прав, но все равно подсказать мне), то неправильная догадка (компилятор скажет мне, что я ошибаюсь), то правильное предположение снова, программа будет завершаться только после Я делаю правильное предположение во второй раз.
Второй цикл цикла внизу - это то, что я поставил в своем основном методе. Все выше в методе, который я написал, называется play.
public static boolean play()
{
boolean c;
int n = 0;
do {
String input = JOptionPane.showInputDialog("Enter a number between 1-1000");
n = Integer.parseInt(input);
if (n == guess)
{
System.out.println("Correct");
c = true;
}
else if (n < guess)
{
System.out.println("Not Right");
c = false;
}
else
{
System.out.println("Not Right");
c = false;
}
guess++;
} while (c == false);
return c;
}
В основной метод:
do {
game1.play();
} while (game1.play() != true);
Где значение угадывания? –
Когда вы вызываете 'game1.play()' в то время, он выполняется снова. Привяжите значение к переменной, как в предыдущем цикле do-while. –