Próbowałem wyjaśnić znajomemu generator liczb losowych w Javie znajomemu, gdy ciągle pobierał te same numery za każdym razem, gdy uruchamiał program. Stworzyłem własną prostszą wersję tego samego i ja też otrzymuję dokładnie te same liczby, które dostawał za każdym razem, gdy uruchomiłem program.Losowe liczby Java nie są losowe?
Co robię źle?
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);
}
}
Końcowe pięć liczb z 100 to:
40
60
27
56
53
moim zdaniem jest lepsze wykorzystanie sposób Math.random(). – Gere
Podczas tworzenia Przypadku losowego używasz stałego materiału siewnego. Więc dostaniesz te same liczby. –
@Gere: co jest tak magicznego w 'Math.random()' i dlaczego jest lepsze niż przypadek losowy? –