【发布时间】:2019-12-03 02:49:19
【问题描述】:
我通过包含一个数组重新尝试了我之前的问题。该程序没有错误,但数字仍然重复。这是我的代码:
public static String ball() {
String var = null;
int ranVar[] = new int[75];
final Random ran = new Random();
int temp;
for (int i = 0; i < ranVar.length; i++) {
do {
temp = ran.nextInt(74) + 1;
} while (match(temp, ranVar));
ranVar[i] = temp;
if (ranVar[i] <= 15) {
return var = "B" + ranVar[i];
} else if (ranVar[i] <= 30) {
return var = "I" + ranVar[i];
} else if (ranVar[i] <= 45) {
return var = "N" + ranVar[i];
} else if (ranVar[i] <= 60) {
return var = "G" + ranVar[i];
} else if (ranVar[i] <= 75) {
return var = "O" + ranVar[i];
}
}
return null;
}
private static boolean match(int temp, int var[]) {
for (int i = 0; i < var.length; i++) {
if (temp == var[i]) {
return true;
}
}
return false;
}
感谢您的帮助。
【问题讨论】:
-
看起来正确并生成不同的组合。但是,如果您的意图是使用随机变量运行 75 次,则不要循环返回。填充数组后返回数组
-
这能回答你的问题吗? Random shuffling of an array