【问题标题】:math.random in javajava中的math.random
【发布时间】:2010-11-18 07:14:44
【问题描述】:

嗨 考虑到我有一个for 循环:for(int i = 0;i<4;i++)

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

【问题讨论】:

  • 您的问题非常不清楚。首先你说的是数字 0 到 3,然后是 1 到 4……请澄清一下,并举例说明你迄今为止尝试过的事情以及它对你没有做的事情。

标签: java random


【解决方案1】:

这是一个想法:

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

第 4 步是您将随机获取所有元素而不会重复的步骤。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2014-12-03
    相关资源
    最近更新 更多