Stavo cercando di spiegare il generatore di numeri casuali in Java a un amico quando continuava a ricevere gli stessi numeri ogni volta che eseguiva il programma. Ho creato la mia versione più semplice della stessa cosa e anche io ottengo gli stessi numeri esatti che riceveva ogni volta che eseguivo il programma.I numeri casuali di Java non sono casuali?
Cosa sto sbagliando?
import java.util.*;
public class TestCode{
public static void main(String[] args){
int sum = 0;
Random rand = new Random(100);
for(int x = 0; x < 100; x++){
int num = (rand.nextInt(100)) + 1;
sum += num;
System.out.println("Random number:" + num);
}
//value never changes with repeated program executions.
System.out.println("Sum: " + sum);
}
}
Gli ultimi cinque numeri su 100 sono:
40
60
27
56
53
credo sia un uso migliore modo Math.random(). – Gere
Stai utilizzando un seme costante durante la creazione dell'istanza Casuale. Quindi ovviamente avrai gli stessi numeri. –
@Gere: cosa c'è di così magico in 'Math.random()' e perché è meglio che usare un'istanza Random? –