Originariamente inviato da ostyle
Scusami non c' ho capito molto.....sono nuovo del linguaggio java...potresti farmi un esempio?
Qui si tratta di matematica, non di Java...
tipo per generare un numero da 2 a 6?mi basta solo la stringa di codice grazie!
Se una funzione F ritorna un numero tra 0 (incluso) e 1 (escluso), per adeguare il risultato ad un insieme compreso fra 0 e 6, l'unica cosa che si può fare è moltiplicare per 7 (quindi si ottiene un numero double compreso fra 0 [incluso] e 7 [escluso]) e castarlo ad int.
Oppure, altra tecnica, moltiplicare il valore della funzione per un numero molto grande (esempio, per 32000) e utilizzare l'operatore modulo per far rientrare il valore all'interno del range voluto.
Piccolo esempio per ottenere un numero random fra 0 e 6:
codice:
// l'operatore modulo restituisce il resto della divisione fra l'operando sinistro e quello destro
int numero = ((int) (Math.random() * 32000)) % 7;
Vogliamo ottenere un numero fra 2 e 6?
codice:
// Riduciamo l'intervallo
int numero ((int) (Math.random() * 32000)) % 5
// Ora abbiamo un numero tra 0 e 4 (inclusi)... aggiungiamo 2
numero += 2;
Ciao.