Come realizzare una statistica dei numeri casuali estratti

di il
4 risposte

Come realizzare una statistica dei numeri casuali estratti

Creare una statistica di numeri usciti ...

import java.util.Random;
public class StatisticaNumeriCasuali {

	public static void main(String[] args) {
		int[] numeri;
		numeri = new int[100];
		Random numCasuale = new Random();
		
		// Riempio l'array di numeri casuali ... dati da un ipotetico lancio di un dado
		for (int i=0; i<100; i++){
			numeri[i] = numCasuale.nextInt(6);
			if (numeri[i] == 0) numeri[i] = 6; // Nel caso esca 0 lo trasforma nel numero 6
		}
		
		// Leggo e stampo i numeri estratti ...
		for (int x=0; x<100; x++) 
			System.out.println(numeri[x]); 
	}
}
In questo modo estraggo dei numeri e riempio una matrice.
Vorrei capire come fare una statistica di quante volte è uscito ciascun numero ... credo sia necessario fare un ciclo, con delle variabili, che si incrementano ogni volta che viene letto un determinato numero.
Chi può darmi un idea di come fare? se non proprio il codice, se mi potete dire su cosa devo lavorare(cosa mi devo studiare).

Ps. è giusto secondo voi in modo arbitrario stabilire che lo 0 divenga un 6? come posso estrarre numeri in un determinato range?

GRAZIEEE

4 Risposte

  • Re: Come realizzare una statistica dei numeri casuali estratti

    nelloskybus ha scritto:


    Vorrei capire come fare una statistica di quante volte è uscito ciascun numero ... credo sia necessario fare un ciclo, con delle variabili, che si incrementano ogni volta che viene letto un determinato numero.
    Chi può darmi un idea di come fare? se non proprio il codice, se mi potete dire su cosa devo lavorare(cosa mi devo studiare).
    Innanzitutto meglio una "mappa" (Map) in cui la chiave è il numero casuale estratto e il valore associato è un "contatore" che incrementi man mano che trovi quello stesso numero.
    Questo di per sé non ti dà una "classifica" o un qualche ordine (al massimo per chiave se usassi es. TreeMap).
    Una volta che hai finito le estrazioni, se vuoi una "classifica" in un qualche ordine, prendi tutte le associazioni numero/contatore e le metti in una lista (modellando numero-e-contatore con una classe). Quindi ordini la lista secondo il campo contatore.

    Può sembrarti complesso ... non lo è se sai usare bene il Collections Framework di Java. Dopotutto di strade non ce ne sono tantissime altre per fare questo.

    nelloskybus ha scritto:


    come posso estrarre numeri in un determinato range?
    nextInt restituisce un valore tra 0 (incluso) e il parametro (escluso). Per avere un qualunque range, basta sommare una "base" (anche negativa) per cui facendo base+r.nextInt(n) avrai un range che va da base (incluso) a base+n-1 (incluso).
  • Re: Come realizzare una statistica dei numeri casuali estratti

    P.S.: anzi, ancora meglio, come valore nella mappa metterei già direttamente l'oggetto che modella numero/contatore. Per 2 motivi: avrei già gli oggetti per la lista e il contatore posso farlo int (se il valore nella mappa fosse il solo contatore, dovrebbe essere Integer e siccome è immutabile, bisogna crearne uno nuovo ad ogni incremento).
  • Re: Come realizzare una statistica dei numeri casuali estratti

    Bene ... grazie so cosa mi devo studiare.

    ps. se hai tempo, mi faresti invece un esempio di ranger per estrarre soli da 1 A 6 ?
    senza impegno , solo sei puoi.
    ciao e grazie
  • Re: Come realizzare una statistica dei numeri casuali estratti

    nelloskybus ha scritto:


    ps. se hai tempo, mi faresti invece un esempio di ranger per estrarre soli da 1 A 6 ?
    int n = 1 + random.nextInt(6);
Devi accedere o registrarti per scrivere nel forum
4 risposte