Tag: 非重复

在Java中生成范围内的非重复随机数

我想生成1到4,4范围内的随机数,包括。 这是我的代码: int num = r.nextInt(4) + 1; //r is instance of Random. 但是,我在循环中运行上面的代码,不想重复随机数。 现在发生的事情通常是我得到的: 1,1,1,2,3,1,4,2,2,1,4,2,4,4,2,1,4,3,3,1,4,2,4,1作为我的输出。 这里,尽管数字在范围(1-4)内是随机的,但是经常像前3次迭代中的数字“1”那样重复。 我正在寻找的是一种在循环中获得非重复随机数的方法。 我知道的一个简单方法是在当前迭代之前保留最后一个随机数并进行比较,但我相信必须有更好的解决方案。 提前致谢。