PDA

Visualizza la versione completa : [JAVA] Math.random() e generazione di valori


Neo Hackman
11-03-2006, 20:47
Ciao a tutti!Avrei una domanda riguardo al Math.random()!

Devo poter accedere random ad un elemento di un array (con circa un centinaio di elementi, cmque l'array allocato dinamicamente) solo che col math.random riesco a raggiungere solo i primi 10 elementi (da 0 a 9)...sto pensando a qlche calcolo "astruso" ma nn mi viene in mente niente!

per il momento la porzione di codice :

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

s= array1Data[indice1];

out.print(s);

...sapete darmi qlche dritta per poter "spazzolare" almeno 100 elementi di un array in modo random?

Grazie 1000! ;)

Ciao! :ciauz:

perzem
11-03-2006, 20:58
Often a program will want to produce a random number between say 0 and 10 or 0 and 100. The following code combines math code to produce a random number between 0 and 100.

System.out.println(Math.round(Math.random()*100));

murder eyes
11-03-2006, 21:04
Originariamente inviato da Neo Hackman
Ciao a tutti!Avrei una domanda riguardo al Math.random()!

Devo poter accedere random ad un elemento di un array (con circa un centinaio di elementi, cmque l'array allocato dinamicamente) solo che col math.random riesco a raggiungere solo i primi 10 elementi (da 0 a 9)...sto pensando a qlche calcolo "astruso" ma nn mi viene in mente niente!

per il momento la porzione di codice :

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

s= array1Data[indice1];

out.print(s);

...sapete darmi qlche dritta per poter "spazzolare" almeno 100 elementi di un array in modo random?

Grazie 1000! ;)

Ciao! :ciauz:

Come hai detto te con
int indice1 = (int)(Math.random()*10);
raggiungi solo i primi 10 elementi.
Se invece di 10 scrivi 100 il gioco fatto! :fighet:

Neo Hackman
11-03-2006, 21:09
Originariamente inviato da perzem
Often a program will want to produce a random number between say 0 and 10 or 0 and 100. The following code combines math code to produce a random number between 0 and 100.

System.out.println(Math.round(Math.random()*100));



Originariamente inviato da murder eyes

Come hai detto te con
int indice1 = (int)(Math.random()*10);
raggiungi solo i primi 10 elementi.
Se invece di 10 scrivi 100 il gioco fatto!

Certo che sono proprio un demente, mi stavo scervellando con divisioni per 10 o moltiplicazioni per 0.1 o 0.x e con elevamenti a potenza quando bastava moltiplicare per 100! :D :D :D


Grazie 1000 ragazzi!

Ciao! :ciauz: :)

Loading