2015-10-26 28 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? –