Questo algoritmo lancia un dado a 6 facce fino a quando non esce la stessa faccia n volte (n scelto dall’utente)

Clicca qui per una migliore visualizzazione del codice

import javax.swing.*;
public class dado2
{
    public static void main (String[] args)
    {
    int x=0, c=0, b=0, i=0;

    //richiedo quante volte deve uscire la stessa faccia del dado prima che il programma termini
    int n=Integer.parseInt(JOptionPane.showInputDialog("Quante facce consecutive vuoi che escano?"));

    //se il numero di facce consecutive è corretto (maggiore di 0)
    if (n>0)
    {
        System.out.println("Lancio il dado...");
        do
        {
            //contatore lanci
            c++;

            //lancio
            x=(int)((6)*Math.random()+1);

            //stampo il lancio
            System.out.print(x+", ");

            //confronto con il valore precedente
            if (x==i)
                b++;
            else
                b=0;

            //memorizzo il valore uscito prima di fare un altro lancio
            i=x;
        }
        while (b<(n-1));
        System.out.println("nNumero di lanci effettuati per ottenere "+n+" facce consecutive: "+c);
    }

    // se il numero di facce consecutive è 0 oppure un numero negativo
    else
    System.out.println("Numero non valido!");

    //fine
    System.exit(0);
    }
}

About OpenProgrammers

Programmatore per passione. Mi piace condividere qualsiasi idea o informazione utile, per questo motivo ho realizzato il blog.