2015-12-18 59 views
-4

而是寫的:傳遞變量由隨機數生成器類

Random randomGenerator = new Random(); 
for (int idx = 5; idx <= 15; ++idx){ 
int randomInt = randomGenerator.nextInt(1); 
每次我需要在一個函數的隨機數

,是否有可能只是通過或從一個隨機數生成器類調用的結果進功能?

例如,我有一個特別的功能,這是從另一個類接收變量

favoriteTracks(String fromExampleClass1, String fromExampleClass1again) 

我能做

favoriteTracks(String fromExampleClass1, String fromExampleClass1again, Long fromRNGclass) 

澄清: 我的一個功能「favoriteTracks」需要傳遞的變量來自「ExampleClass1」。 同時,我希望它接收一個隨機數作爲變量(或者稱之爲,以最簡單的爲準)。通過

public static long randomNum(){ 
Random randomGenerator = new Random(); 
for (int idx = 5; idx <= 15; ++idx){ 
int randomInt = randomGenerator.nextInt(1); 
+0

你知道,你可以傳遞隨機對象本身。例如'favoriteTracks(String fromClass1,String fromClass1again,Random rand)'。但我不確定這是否是你要問的。 – Draco18s

+0

爲什麼不用這三行代碼(和一個return語句)創建一個單獨的函數,並且每次需要一個隨機數時調用它? – MC10

回答

1

在另一個類產生的最簡單的方法是封裝你單身想要的行爲:

public class MyRandom { 

    public static final MyRandom myRandom = new MyRandom(); 

    private Random randomGenerator = new Random(); 

    public int makeRandom() { 

     // put your for loop here if you want, but it is not necessary 
     return 5 + randomGenerator.nextInt(11); 
    } 
} 

別的地方...

x = MyRandom.myRandom.makeRandom(); 

這看起來像一個爲您正在嘗試做的事提供可能的解決方案。

+0

這很好,非常感謝。但我需要隨機選擇一個數字5到15 – Zodzie

+0

因此,要做到這一點,通常會生成一個介於0到10之間的數字,然後再添加5。請注意,nextInt的參數是獨佔的(它返回最大值以下的數字)。 – rghome