gpt4 book ai didi

java - 寻找一种不包含一系列随机数重复的方法

转载 作者:行者123 更新时间:2023-12-01 19:43:32 24 4
gpt4 key购买 nike

我一直在为类开发一款宾果游戏,但我遇到了重复数字的问题。我了解如何使用数组创建不重复的随机数,但不了解如何使用普通整数或字符串创建不重复的随机数。我将展示一个我想要的例子。

String var = null;
int ranVar;
final Random ran = new Random();
ranVar = ran.nextInt(74) + 1;
boolean match;
// Attempted the code for non-repeating numbers here:
for (int i = 0; i < 1; i++) {
if (ranVar <= 15) {
match = false;
return var = "B" + ranVar;
for (int x = 0; x <= i; x++) {
if (ranVar == x) {
match = true;
}
}
if (match == true) {
i = i - 1;
} else ranVar = i;
}else if (ranVar <= 30) {
return var = "I" + ranVar;
} else if (ranVar <= 45) {
return var = "N" + ranVar;
} else if (ranVar <= 60) {
return var = "G" + ranVar;
} else if (ranVar <= 75) {
return var = "O" + ranVar;
}

}

如您所见,我尝试使用 B 值执行此操作,但没有成功。如有任何帮助,我们将不胜感激。

最佳答案

如果您希望在每次调用该方法时检查某个值是否已被使用,那么您需要将以前的值存储在集合中。一个很好的简单方法是使用一个集合并测试 add 的返回值。

例如,如果您要生成随机字符串:

private final Set<String> values = new HashSet<>();

public String getValue() {
String value;
do {
value = generateValue();
} while (!values.add(values));
return value;
}

关于java - 寻找一种不包含一系列随机数重复的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59148838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com