可能重複:
Java: generating random number in a range獲取範圍(隨機整數X,Y]
如何生成一個隨機整數i
,這樣i
屬於(0,10]
我試過用這個:
Random generator = new Random();
int i = generator.nextInt(10);
但它給我的值在[0,10)
之間。
但在我的情況下,我需要他們是(0,10]
。
可能重複:
Java: generating random number in a range獲取範圍(隨機整數X,Y]
如何生成一個隨機整數i
,這樣i
屬於(0,10]
我試過用這個:
Random generator = new Random();
int i = generator.nextInt(10);
但它給我的值在[0,10)
之間。
但在我的情況下,我需要他們是(0,10]
。
Random generator = new Random();
int i = generator.nextInt(10) + 1;
如何:
Random generator = new Random();
int i = 10 - generator.nextInt(10);
只需添加一個結果。這將[0,10]變成(0,10](用於整數)。[0,10]只是說[0,9]更容易混淆的方式,而(0,10]是[1,10](整數)
好吧,加上「1」確實解決了這個問題,但我無法理解爲什麼這個方法不能處理兩個參數 - 範圍的開始和停止?! – thorinkor
這會生成[1,11)範圍內的整數。 –
......其中,現在我意識到我們正在談論整數,是相同的:) –
好吧,添加「1」確實解決了這個問題,但我無法理解爲什麼這個方法不處理兩個參數 - 範圍的開始和停止? – thorinkor