Простой подброс монеты с использованием случайного класса в Java. Цикл do while, похоже, не генерирует случайные результJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Простой подброс монеты с использованием случайного класса в Java. Цикл do while, похоже, не генерирует случайные результ

Сообщение Anonymous »

У меня возникают проблемы с генерацией случайного числа каждый раз, когда я запускаю цикл do- while в main. Когда я удаляю оператор do - while, оператор if работает нормально и, кажется, каждый раз генерирует случайный результат, но когда он повторяется в цикле, кажется, что он просто повторяет первоначальный результат.
Вот мой код:
import java.util.Random;

public class CoinToss {
private enum Coin {Heads, Tails};

Random randomNum = new Random();
private int result = randomNum.nextInt(2);
private int heads = 0;
private int tails = 1;
Coin coinFlip;

public void flip() {
if (result == 0) {
coinFlip = Coin.Heads;
System.out.println("You flipped Heads!");
} else {
coinFlip = Coin.Tails;
System.out.println("You flipped Tails!");
}
}
}

И мой метод main, в котором у меня возникают проблемы:
import java.util.Scanner;

public class TossGame {
public static void main(String[] args) {
CoinToss test = new CoinToss();
int choice;

System.out.println("Welcome to the coin toss game!");
do {
System.out.print("Enter 1 to toss coin or enter 0 to quit: ");
Scanner input = new Scanner(System.in);
choice = input.nextInt();

if (choice == 1) {
test.flip();
} else if (choice > 1) {
System.out.println("Invalid entry - please enter 1 or 0: ");
choice = input.nextInt();
}
} while (choice != 0);
}
}


Подробнее здесь: https://stackoverflow.com/questions/241 ... -seem-to-g
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»