2010-12-19 18 views
0

我用一種語言編程,如果我想從一組不同的數字中選擇一個數字,可以選擇x = choose(0,-1,2,5 ),然後它會隨機選擇其中一個選項,並給我一個結果,但因爲我一直在使用android和java我不知道一種方法來複制該功能作爲theres什麼我可以找到在android SDK中是喜歡它獲取代碼以隨機選擇x個選項中的一個

回答

0

使用隨機函數來生成一個整數。該整數可以是您的選項列表的索引。

+0

我在想,但它不是很靈活,因爲我得有那大如席多少選擇想要的指標,而且只會變得一團糟,我試圖更以適應 – Foxx 2010-12-19 08:53:06

1

假設你的號碼被放置在一個整數數組:

int[] numbers = {0, -1, 2, 5}; 

你可以把一個隨機數到X爲:

int x = numbers[Random.nextInt(4)]; 

編輯:

可能創建一個類中的靜態函數會使得這個解決方案更像你以前的語言所使用的那個:

public class MyUtil{ 
    private static Random random = new Random(); 
    public static int choose(int ... numbers){ 
     return numbers[random.nextInt(numbers.length)]; 
    } 
} 

你可以在你的代碼的任何地方使用這個函數:

int x = MyUtil.choose(0, -1, 2, 5); 
+0

ooo我只是輸入這個..........:x也可以等於數字[Math.Random()* 3],我必須輸入此........ ..大聲笑 – viv 2010-12-19 08:51:09

+0

啊,使一點更有意義,只是只是一點點工作 – Foxx 2010-12-19 09:08:47

+0

我想你想要實現的是將隨機選擇邏輯抽象爲一個函數。在「編輯」後查看我的答案。 – craftsman 2010-12-19 09:21:09

0

可以使用可變參數功能:

private static Random random = new Random(); 

public static int choose(int ... numbers){ 
     return numbers[random.nextInt(numbers.length)]; 
} 

這將會使你的代碼非常相似,你所期望的。該陣列創建是隱含的:

int x = choose(1,5,20,4);