Java 连续分析范围内的随机数生成器
我可以使用Java 连续分析范围内的随机数生成器,java,Java,我可以使用 Random rand = new Random(); int num = rand.nextInt(10); System.out.println("Generated Random Number between 0 to 10 is : " + num); 但是,如果我需要生成的下一个随机数是已经生成的范围的一部分,那么将上述语句保持在循环中就足够了吗 我还需要停止一旦我用尽所有的数字范围 例如 代码给了我一个介于[0-10]之间的随机数 1st-4-范围{[0-10]} 2n
Random rand = new Random();
int num = rand.nextInt(10);
System.out.println("Generated Random Number between 0 to 10 is : " + num);
但是,如果我需要生成的下一个随机数是已经生成的范围的一部分,那么将上述语句保持在循环中就足够了吗
我还需要停止一旦我用尽所有的数字范围
例如
代码给了我一个介于[0-10]之间的随机数
1st-4
-范围{[0-10]}
2nd-9
-范围{[0-10]-4}
3rd-8
-范围{[0-10]-4,9}
10-10
-范围{[0-10]-[0-9]}
此函数将从[Range]{这是我的需求}或(Range)输出吗?或者有更好的替代方案吗?最简单的方法可能是:
- 将数字(0到10)放入列表中
- 召唤
- 循环浏览列表
List<Integer> numbers = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 10);
Collections.shuffle(numbers);
System.out.println(numbers);
List number=Arrays.asList(0,1,2,3,4,5,6,7,8,10);
收藏。洗牌(数字);
系统输出打印项次(数字);
如果默认设置不适合您,您甚至可以使用随机操作。我认为这是不可能的。试着记住列表中已经生成的数字,并用它生成更多的随机数字,直到找到一个不在列表中的数字