gpt4 book ai didi

java - 如何在Java中随机分配2个字符代码

转载 作者:行者123 更新时间:2023-12-01 06:49:54 24 4
gpt4 key购买 nike

我有两个组可以分配给我的程序中的参与者,它们在枚举中表示为“RG”和“NP”。我想随机分配这些组。有没有办法在java中做到这一点?

例如,当我随机生成参与者的 ID(我目前只是将其写入文件)时,我这样做了:

Random rndbid = new Random();
int msDBID = 10 + rndbid.nextInt(90);
stringB.append(String.valueOf(msDBID));
stringB.append("\t");

是否有类似的东西,可以让我做同样的事情,但不是随机生成 int,而是随机生成“RG”或“NP”?

如果您需要澄清,请告诉我。提前致谢!

编辑:我对 Java 很陌生,所以请尽可能解释一下!我一边走一边学习。谢谢!!

最佳答案

您可以在枚举中创建静态方法来生成随机实例。如果您决定添加更多枚举值,这将会扩展。

public enum MyEnum {
RG,
NP;

public static MyEnum getRandom(Random random) {
MyEnum[] allMyEnums = MyEnum.values();
int randomEnumIndex = random.nextInt(allMyEnums.length);
return allMyEnums[randomEnumIndex];
}
}

既然您提到您是 Java 新手,这里有一个基本概要。在 Java 中,enum 可以具有与其关联的方法。在本例中,我添加了一个静态方法(类似于 MyEnum.getRandom(random) 的调用方式)。此方法不必是枚举的一部分,但在那里可能很方便。

枚举的.values()方法将返回一个按顺序包含所有枚举值的数组。我将其放入变量 allMyEnums 中。因此,allMyEnums[x] 将返回第 x 个索引枚举。在这种情况下,allMyEnums[0] 将是 RG,allMyEnums[1] 将是 NP。在 allMyEnums 中,我返回一个介于 0 和值数量(数组长度)之间的随机整数。这最终将随机选择一个枚举。

关于java - 如何在Java中随机分配2个字符代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37491955/

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