codice:import java.util.Random; public class Dado { public static void main(String[] args) { Random r = new Random(); int[] frequenze = new int[6]; int i; for (i=0;i<1000;i++){ frequenze[r.nextInt(6)] += 1; } for (i=0;i<6;i++){ System.out.println("La faccia "+(i+1)+" è uscita "+frequenze[i]+" votle, "+frequenze[i]*0.1+"%"); } } }
Per la Random si possono usare
Math.Random() che ritorna un double compreso tra 0.0 e 1.0
oppure
si istanzia un oggetto Random (vedi codice) che genera valori pseudo casuli
oltre al metodo nextInt() ne esiste uno per svariati tipi che si voglia generare nextDouble() , nextFloat() ecc..
Come puoi notare alla nextInt può essere passato un argomento che sta ad indicare il numero da non raggiungere quando il numero pseudo casuale viene generato. Nel nostro caso il parametro scelto è 6, vengono quindi generati 0 1 2 3 4 5 , che essendo effettivamente 6 numeri sono utili alla risoluzione del tuo problema.
Ho anche scritto il resto del codice , se vuoi chiarimenti chiedi, spero di essere stato d'aiuto.
PS: per programmi così semplici ti consiglio di usare linguaggi diversi come C o Pascal

Rispondi quotando