Questo è un piuttosto semplice Java (anche se probabilmente applicabile a tutta la programmazione) domanda:Math.random() ha spiegato
Math.random()
restituisce un numero da zero a uno.
Se voglio tornare un numero intero da zero a cento, lo farei:
(int) Math.floor(Math.random() * 101)
Da uno a cento, lo farei:
(int) Math.ceil(Math.random() * 100)
Ma cosa succede se volevo farlo da tre a cinque? Sarà come seguente dichiarazione:
(int) Math.random() * 5 + 3
che so di nextInt()
in java.lang.util.Random
. Ma voglio imparare come farlo con Math.random()
.
BTW: l'intervallo è da 0.0 compreso a 1.0 esclusivo (non otterrete mai 1.0 in assoluto). L'uso di nextInt() è una scelta di gran lunga migliore, non solo è più semplice ma anche molto più veloce. –
L'uso di 'Math.ceil' è sbagliato, dà il risultato sbagliato quando' Math.random() 'restituisce' 0'. – starblue
Per [3,5]: '(int) Math.floor (Math.random() * 3) + 3' –