O socoteala de câte ori apare un număr, folosind un generator de numere aleatoare. Java

0

Problema

În acest cod am scris aici intrări de utilizator, indiferent dacă sunt sau nu le-ar dori pentru a alege de capete sau cozi într-o confruntare de joc. Aș dori să păstrați o evidență a cât de multe ori capete sau cozi apare și de ieșire de fiecare dată când se schimbă. După ore de a încerca și de căutare nu pot să-l dau nostru perfect, așa că dacă cineva ar putea să-mi spuneți ce aș putea utiliza lasă-mă să știu.

import java.util.Random;
import java.util.Scanner;

public class CoinToss {


    private enum Coin {
        Head, Tail
    }

    public static void main(String[] args) {
        CoinToss game = new CoinToss();
        game.startGame();


    }


    private void startGame() {
        Scanner scanner = new Scanner(System.in);
        Coin guess;

        while (true) {
            System.out.print("Enter your guess whether the coin will be heads or tails. Type 1 for heads, 2 for tails, or 3 to quit: ");
            String choice = scanner.nextLine();

            if (choice.equalsIgnoreCase("3")) {
                break;
            } else if (choice.equalsIgnoreCase("1")) {
                guess = Coin.Head;
            } else if (choice.equalsIgnoreCase("2")) {
                guess = Coin.Tail;
            } else {
                System.out.println("Please select either heads tails or quit.");
                continue;
            }

            Coin toss = tosscoin();

            if (guess == toss) {
                System.out.println("You guessed correctly!");
            } else {
                System.out.println("You guessed incorrectly");
            }
        }
        scanner.close();
    }


    private Coin tosscoin() {
        
        Random r = new Random();
        int sideup = r.nextInt(2);
        if (sideup == 1) {
            
            return Coin.Head;
        } else {
            return Coin.Tail;
        }


    }

}
for-loop java random
2021-11-23 21:40:18
2
1

De exemplu, puteți adăuga două domenii în CoinToss clasa. Ca int capete și int cozi. Inițializa cu 0 în startGame() metodă. Apoi, în tosscoin() metoda:

 if (sideup == 1) {
    heads++;
    return Coin.Head;
} else {
    tails++;
    return Coin.Tail;
}

Puteți accesa aceste domenii, în startGame() metodă și să faci ce vrei cu ei.

Ai putea la fel de bine defini aceste două variabile direct în startGame() metodă și creștere-le în funcție de tipul de Monede pe care le obține de la tosscoin() metodă.

2021-11-23 22:12:10

Vă mulțumesc! asta mi-a pus chiar pe drumul cel bun și mi-a dat o buna idee asupra a ceea ce trebuia să fac
Dominic Salinas
1

Codul de mai jos ar trebui să funcționeze. de fiecare dată când se arunca, se stochează valoarea curentă într-o variabilă și o compară data viitoare cu aruncare valoare.


import java.util.Random;
import java.util.Scanner;

public class CoinToss {

    private static int headCounter;
    private static int tailCounter;
    private static int previousToss;

    private enum Coin {
        Head, Tail
    }

    public static void main(String[] args) {
        CoinToss game = new CoinToss();
        game.startGame();


    }


    private void startGame() {
        headCounter = 0;
        tailCounter = 0;
        previousToss = 0;
        Scanner scanner = new Scanner(System.in);
        Coin guess;

        while (true) {
            System.out.print("Enter your guess whether the coin will be heads or tails. Type 1 for heads, 2 for tails, or 3 to quit: ");
            String choice = scanner.nextLine();

            if (choice.equalsIgnoreCase("3")) {
                break;
            } else if (choice.equalsIgnoreCase("1")) {
                guess = Coin.Head;
            } else if (choice.equalsIgnoreCase("2")) {
                guess = Coin.Tail;
            } else {
                System.out.println("Please select either heads tails or quit.");
                continue;
            }

            Coin toss = tosscoin();

            if (guess == toss) {
                System.out.println("You guessed correctly!");
            } else {
                System.out.println("You guessed incorrectly");
            }
        }
        scanner.close();
    }


    private Coin tosscoin() {

        Random r = new Random();
        int sideup = r.nextInt(2);
        Coin currentGuess;

        if (sideup == 1) {
            headCounter++;
            currentGuess = Coin.Head;
        } else {
            tailCounter++;
            currentGuess = Coin.Tail;
        }
        checkIfFlipped(sideup);
        return currentGuess;

    }

    static void checkIfFlipped(int currentToss) {
        
        if (currentToss != previousToss) {
            
            if (currentToss == 0) {
                System.out.println("Coin fliped from head to tail");
            } else {
                System.out.println("Coin fliped from tail  to head");
            }
        }

        previousToss = currentToss;
    }
}
2021-11-23 23:48:20

Multumesc foarte mult am fost pe drumul cel bun, dar nu perfect acolo, acest lucru a fost perfect de orientare.
Dominic Salinas

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................