java中的math.random

时间:2010-11-18 07:14:45

标签: java random

您好 我认为我有一个for循环:for(int i = 0;i<4;i++)

for循环中,我想打印从0到3的数字的随机数,结果只包含3个数字。每次循环执行时,math.random的结果必须是不同的是, 我有4个数字:(1,2,3,4) 我想在循环执行后有4个结果:[1,2,3] [1,2,4] [2,3,4] [4,1,3] 我怎么能产生这些数字? 感谢

1 个答案:

答案 0 :(得分:3)

这是一个想法:

  1. 制作一个“主”列表,其中包含所有需要的元素,从0到3(或1到4,无论你需要什么)
  2. shuffle使用Collections.shuffle
  3. 的列表
  4. 将该列表转换为堆栈
  5. 弹出堆栈中的所有内容
  6. 根据需要重复2-4
  7. 步骤4.您将随机获取所有元素,不会重复。

    注意:在步骤3中,如果看起来更容易,您也可以从主列表而不是堆栈创建新列表,但基本前提是相同的。