Funzione Random
Il caso non esiste...
Iniziamo con la premessa che una macchina non è in grado di "scegliere" un numero casualmente però ci si può avvicinare con una serie di algoritmi, come quello che utilizza l'orologio del sistema. Comunque sia, ci sono due modi per determinare un numero casuale:
1. Uso di Math.random( )
tipo num = ( tipo ) ( Math.random( ) * x ) ;
dove al posto di "tipo" si deve mettere il tipo di dato (int, byte, float...) e al posto della "x" l'intervallo della scelta (tenendo conto che se x=10=>da0a9, se x=100=>da0a99...)
Esempio:
- int num = (int)(Math.random( )*1000); // Genera un intero compreso tra 0 e 999
- short num = (short)(Math.random( )*10); // Genera un intero short compreso tra 0 e 9
2. Uso della classe java.util.Random( )
Prima di utilizzare la funzione random dobbiamo includere nel nostro codice la stringa "import java.util.Random" (va bene anche "import java.util.*" poiché la include a sua volta). Dopodiché istanziamo la nostra Random tramite la parola chiave new:
- Random random = new Random( );
dove random è il nome della variabile.
A questo punto per generare ad esempio un valore intero possiamo fare:
- int num = random.nextInt( ); // Genera un integer
- int num = random.nextInt(100); // Genera un integer compreso tra 0 e 99
Ovviamente per generare un numero float useremo "nextFloat", per un double "nextDouble"...
E per ottenere un valore compreso tra due valori arbitrari? Ecco il metodo pronto per essere implementato (non dimenticate l'import java.util.Random!):
public static int randInt(int min, int max) { Random random = new Random(); int num = random.nextInt((max - min) + 1) + min; return num; }