2010-10-11 65 views
3
之間的隨機值

可能重複:
Java: generating random number in a range如何生成兩個數字

如何生成兩個數字之間的隨機值。 Random.nextInt()給你介於0和傳遞的值之間。如何在minValue和maxValue之間生成一個值

+1

的答案太簡單了! – vulkanino 2010-10-11 12:20:27

+6

人們發現谷歌或在這裏問問題比THINK更容易。 – vulkanino 2010-10-11 12:25:00

+2

考慮到我們有兩個刪除的,一個不正確的和一個嚴格編輯的答案,它可能比它看起來更難。 – Thilo 2010-10-11 12:27:33

回答

7

寫的方法,如:

public static int getRandom(int from, int to) { 
    if (from < to) 
     return from + new Random().nextInt(Math.abs(to - from)); 
    return from - new Random().nextInt(Math.abs(to - from)); 
} 

這也考慮了事實,即nextInt()參數必須是積極的,而且從可以更大然後

9

random.nextInt(max - min + 1) + min將會執行此操作。我想,你希望min <= number <= max

1

實施例:生成從1至6的數
由於nextInt(6)0-5返回一個數,有必要加1來縮放數爲範圍1-6

 
static Random randGen = new Random(); 
int spots; 
. . . 
spots = randGen.nextInt(6) + 1;