2011-11-23 143 views

回答

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

這會生成[1,11)範圍內的整數。 –

+23

......其中,現在我意識到我們正在談論整數,是相同的:) –

+0

好吧,添加「1」確實解決了這個問題,但我無法理解爲什麼這個方法不處理兩個參數 - 範圍的開始和停止? – thorinkor

13

如何:

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

聰明,但有點愚蠢。 – drdwilcox

+2

聰明的+1 1/2和鈍的-1/2。 –

+1

是的,絕對鈍。我原本以爲真正的數字,但至少它仍然適用於整數! :) –

5

只需添加一個結果。這將[0,10]變成(0,10](用於整數)。[0,10]只是說[0,9]更容易混淆的方式,而(0,10]是[1,10](整數)

+0

好吧,加上「1」確實解決了這個問題,但我無法理解爲什麼這個方法不能處理兩個參數 - 範圍的開始和停止?! – thorinkor

相關問題