Il metodo Math.random() genera un numero casuale, con distribuzione
uniforme, nell'intervallo [0.0, 1.0[. Tramite semplici elaborazioni è possibile
generare numeri casuali interi in un intervallo a piacere.
Operazione |
Codifica |
Intervallo |
Genera un numero casuale reale |
Math.random() |
[0.0, 1.0[ |
moltiplica per SUP |
SUP*Math.random() |
[0.0, SUP[ |
casting a int |
(int)(SUP*Math.random()) |
[0, SUP-1] |
aggiunge 1
Genera un numero casuale intero da 1 a SUP |
(int)(SUP*Math.random())+1 |
[1, SUP] |
aggiunge INF invece di 1 |
(int)(SUP*Math.random())+INF |
[INF, SUP+INF-1] |
cambia il fattore moltiplicativo
Genera un numero casuale intero da INF a SUP |
(int)((SUP-INF+1)*Math.random())+INF |
[INF, SUP] |
utilizza una variabile semplificativa |
int RANGE=SUP-INF+1;
(int)(RANGE*Math.random())+INF |
|