2010-10-22 74 views
4

我猜這很簡單,但由於某種原因,我無法弄清楚。那麼,你如何從兩個數中挑出一個隨機整數。我想隨機挑出整數1和2。隨機整數:Android

回答

11

只需使用標準均勻隨機分佈,採樣它,如果它是小於0.5選擇一個值,如果它更高,選擇其他:

int randInt = new Random().nextDouble() < 0.5 ? 1 : 2; 

或者,也可以在尺寸使用nextInt方法,該方法需要輸入一個帽(排他的範圍內),然後偏移以用於將其返回0(含最小值):

int randInt = new Random().nextInt(2) + 1; 
-1

使用以下函數:

int fun(int a, int b) { 
    Random r = new Random(); 
    if(r.nextInt(2)) return a; 
    else return b; 
} 

這將返回一個均勻分佈的a或b。 這意味着以一種非常簡單的方式:如果您運行此函數N次,則預期出現的'a'和'b'每個都是N/2。

+0

爲什麼這是downvoted? – 2017-07-24 23:52:08