【发布时间】:2012-05-21 21:35:19
【问题描述】:
如何生成 0 到 1000 之间的随机数,并继续将在 0 到 1000 之间生成的唯一随机数传递给特定方法。因此,为此我生成了 0 到 1000 之间的数字,并在 List 中插入了 0 到 1000 之间的唯一随机数,以便我们可以比较我们生成的随机数是否已经存在于列表中。如果它存在,则再次生成它。但不知何故,我相信下面的代码有时会失败。
public class Testing4 {
private static List<Integer> randomNumber;
private static Random r = new Random();
private static int rand;
private static int endRange = 1000;
public static void main(String args[]) throws IOException {
randomNumber = new ArrayList<Integer>();
for (int i = 1; i<= endRange; i++) {
rand = r.nextInt(endRange);
if(randomNumber.contains(rand)) {
rand = r.nextInt(endRange);
} else {
randomNumber.add(rand);
}
// Pass the unique random number between 0 and 1000 to this method
randomNumberMethod(rand);
}
}
}
【问题讨论】:
-
我没有想到它的代码,但基本上:生成一个从 0 到 1000 的整数列表并随机播放,然后一次返回每个值.这比尝试跟踪您已经看到的内容要少得多。
-
你是认真的吗?我花了 10 分钟写了一个很棒的答案。它被锁定了。我很沮丧。
-
@Andrius,你能在这里复制粘贴,这样我就可以看到最有效的方法是什么?或者我可以提供我的电子邮件地址。
-
好吧,我的答案已经被破坏了。只需使用他们链接到您的答案 :) 感谢您非常有礼貌 :)