PDA

Visualizza la versione completa : [JAVA] Random


perzem
02-07-2005, 18:17
int x=(int)Math.random()*10,y=(int)Math.random()*10;
System.out.println(x);
System.out.println(y);

Ho usato questo codice per creare numeri a caso ma mi restituisce sempre 0, mettendo double mi da numeri diversi come posso risolvere ???
Come devo settare una finestra di modo che se io rimpicciolisco mi si riduce anche tutto il contenuto??

eumene
02-07-2005, 19:40
Per la funzione random utilizza l'oggetto

java.util.Random

perzem
02-07-2005, 20:08
l'ho gia messo altrimenti non potevo usarla.
Quello che dico che con double mi rest num diversi mentre con int sempre 0, credo sia un problema di decimali...

pprllo
02-07-2005, 20:36
Te lo spiego subito.
Il metodo random restituisce un valore compreso tra 0 ed 1, che moltiplichi per il massimo che vuoi ottenere per ottenere il numero random.
Scrivendo:


int x=(int)Math.random()*10

Lui esegue prima il cast e poi la moltiplicazione. Siccome un cast ad int effettivamente una troncatura, avrai sempre 0 * 10.

Matteo982
02-07-2005, 22:20
per risolvere il problema dovrebbe bastare una piccola parentesi tipo:


int x=(int)(Math.random()*10);

Ciao. :ciauz:

christian78
19-12-2005, 12:26
Scusate se uppo questo 3d, ma vorrei capire una cosa su Math.random()

Se facessi cosi:


int x=(int)(Math.random()*10);

il programma mi restituirebbe un numero random da 0 a 9 o da 1 a 10? o da 0 a 10?
Grazie! :ciauz:

LeleFT
19-12-2005, 13:58
Tra 0 e 9.
Il metodo random() di Math restituisce un valore compreso fra 0 (incluso) e 1 (escluso).


Ciao. :ciauz:

Loading