Einfach Münze Werfen, mithilfe der random-Klasse in Java. Die do while-Schleife scheint nicht zu generieren zufällige Ergebnisse

Sorry für die Frage aber ich bin neu in Java.

Habe ich Probleme, die Generierung der Zufallszahl jedes mal Laufe ich durch die do-while-Schleife in main. Wenn ich entfernen Sie die do - while-Anweisung die if-Anweisung funktioniert gut und scheint zum generieren einer zufälligen Ergebnis jedes mal aber, wenn es wiederholt sich in der Endlosschleife scheint es nur wiederholen, das erste Ergebnis.

Hier ist mein code:

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!");
    }


}

}

Und meine Methode main, wo ich zu sein scheinen Probleme:

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);




}

}

Vielen Dank im Voraus für Eure Vorschläge!

Sie nur zuordnen result einmal -- wenn ein CoinToss - Objekt erstellt wird.

InformationsquelleAutor Mac | 2014-06-11

Schreibe einen Kommentar