2015-10-26 30 views
-1

如何編程多級隨機?如何在Java或Android中對多階段隨機程序進行編程?

一個例子:我有3 INT: 「1; 2; 3」
第一輪後僅存在2左側。例如:「2; 3」
而在上一輪仍然是數字「3」。
所有這些都是隨機發生的。

如何在Java中編程?

+1

你有沒有試過自己? –

+0

是的,但我是初學者:/和我沒有在互聯網上找到這個 –

回答

2

intArrayListSet。使用Random.nextInt()可以獲取小於集合大小的隨機索引,然後訪問並刪除它。這樣不會有兩個數字會重複。您可以將其用於int或任何您想要的。另一個想法是使用Collections.shuffle

更多信息:Picking a random element from a set

+0

@aioobe是的,謝謝你指出。 – Henry

+1

如果刪除應該繼續,直到沒有元素剩下,我會說'Collections.shuffle'是一個很好的方法。 – aioobe

+0

謝謝。與Collections.shuffle它很好用;) –

0

你可能會想整數存儲在數組中。然後可以使用隨機整數作爲數組的索引來刪除數字。例如:

Random rnd = new Random(); 

int numOfInputs = 3; 
int[] listOfNums = new int[]{1,2,3}; 
int removeIndex = 0; 

for(int r = 0; r < numOfInputs; r++) { 

    removeIndex = rnd.nextInt(numOfInputs); 
    listOfNums[removeIndex] = 0; 

    // Print the list 
    for(int p = 0; p < numOfInputs; p++) { 
    if(listOfNums[p] > 0) { 
     System.out.print(listOfNums[p] + ";"); 
    } 
    } 

} 
+0

謝謝。但我怎樣才能將3個結果寫入3個字符串或int? –