2011-11-23 12 views

Odpowiedz

75
Random generator = new Random(); 
int i = generator.nextInt(10) + 1; 
+0

Generuje to liczby całkowite z przedziału [1, 11]. –

+23

... która, teraz, gdy zdaję sobie sprawę, że mówimy o liczbach całkowitych, jest taka sama :) –

+0

Cóż, dodanie "1" rozwiązuje problem na pewno, ale po prostu nie mogę zrozumieć DLACZEGO ta metoda nie obsługuje dwóch argumentów - uruchomić i zatrzymać zasięg ?! – thorinkor

13

Jak o:

Random generator = new Random(); 
int i = 10 - generator.nextInt(10); 
+0

Sprytny, ale raczej tępy. – drdwilcox

+2

+1 1/2 za spryt i -1/2 za tępość. –

+1

Tak, zdecydowanie tępy. Początkowo myślałem o liczbach rzeczywistych, ale przynajmniej nadal działa dla liczb całkowitych! :) –

5

Wystarczy dodać jeden do wyniku. To zmienia [0, 10] na (0,10) (dla liczb całkowitych). [0, 10] jest po prostu bardziej mylącym sposobem na powiedzenie [0, 9], a (0,10) to [1,10] (dla liczb całkowitych.)

+0

Dodanie "1" rozwiązuje problem na pewno, ale po prostu nie rozumiem DLACZEGO ta metoda nie obsługuje dwóch argumentów - rozpoczęcia i zatrzymania zakresu ?! – thorinkor

Powiązane problemy