在给定值之间生成随机数,然后耗尽并继续直到绘制出所有数字



我不知道该怎么做。我的任务是(由一个非营利组织)创建一个应用程序,它可以接受一个最大数字(可能在100左右),然后在中间生成一个随机数。很简单;然后我希望它排除那个数字,并生成一个新的随机数字,也排除那个数字,以此类推,直到所有可能的数字都被排除。基本上就像抽奖一样。我知道可能有一页又一页的代码来构建这个,我只需要在正确的方向上使用什么方法来实现这一点。我在大学学习Java,这引起了我的兴趣。具体来说,该组织正在举办一场活动,他们将从帽子中抽奖,以获得捐赠的奖品。由于某些原因,许多成员不喜欢使用帽子方法的想法,并希望某种方法使一个可信的数字生成方法。他们从帽子里抽出一张彩票,然后他们建议他们点击一个按钮来获得一个随机数字,这个数字又会被附加到一个奖品上。显然,由于奖品已经中奖,它们的号码必须被排除在外。如果有人能帮助我,谢谢!

您可以创建一个数字列表,然后使用Collections.shuffle对该列表进行随机化。之后,您可以从该列表中一个接一个地获取值,以模拟不同随机数的序列。

int max = 10;
List<Integer> shuffled = new ArrayList<>(max);
for (int i = 0; i < max; ++i) {
    shuffled.add(i);
}
Collections.shuffle(shuffled);
System.out.println(shuffled);

最新更新