【发布时间】:2019-01-26 00:39:06
【问题描述】:
我是 Java 新手,我正在尝试为游戏随机化非重复数字。仅当我不添加 break 语句时,我的代码才会生成从 1 到 75 的唯一随机数(我必须这样做才能当时只获得一个数字)。我该怎么办?编辑-(我想知道它不断重置的原因是否是因为我多次调用该方法?我不太确定如何解决)
public static void genNumber() {
Random random = new Random();
int num;
String u;
String letter = "";
HashSet<Integer> used = new HashSet<>(75);
for (int i = 1; i <= 75; i++){
ball.add(i);
}
while(used.size() > 0) {
num = 1 + random.nextInt(75);
if (used.contains(num)){
used.remove(new Integer(num));
u = Integer.toString(num);
System.out.print(u + "\n");
break;
}
if (!used.contains(num)){
continue;
}
}
这些数字是唯一且随机的,但我一次只想要一个数字(不重复)而不是一次全部 75 个。
【问题讨论】: