gpt4 book ai didi

java - 是否可以从可能的选项数组中随机化对象内字符串属性中的单个单词?

转载 作者:行者123 更新时间:2023-12-02 03:04:06 26 4
gpt4 key购买 nike

我对 java 和编码都很陌生,所以如果这是一件简单的事情,我很抱歉。我想知道是否可以在字符串中添加一个变量,当从选项的 ArrayList 中选择项目本身时,该变量将被随机化。

我已经创建了对象,将它们放入 ArrayList 中,并有一个方法可以随机调用 ArrayList 中的索引并打印它们的属性。然而,有些(不是全部)我想从另一个单独的数组中随机化“名称”属性的一部分。有没有办法做到这一点?如果可能的话,我希望它在每次调用时都是随机的,所以在我从 ArrayList 调用该特定对象两次的情况下,它的“name”属性将不相同(除非偶然从 ArrayList 调用相同的后缀)随机名称数组两次)。

//Doesn't need randomization
Item r1 = new Item("Static Name", 1000);

// (X) needs to be either "Title", "Callsign", or "Identifier"
Item r2 = new Item("Random (X)", 500);

更新:

我遵循了 DevilsHnd 的建议,但它似乎并没有取代任何东西。

//declared in class
String[] suffix = {"Title","Callsign","Nickname"};

//as part of toString()

if (name.contains("(X)")) {
name.replace("(X)", [new Random().nextInt(((suffix.length - 1) - 0) + 1) + 0]);

我的 toString 仍然打印出“随机 (X)”,而不是所需的“随机标题”。如果删除 if 函数并使用静态值进行替换,我就可以让它工作,例如 name = name.replace("(X)","Title") ;,但我仍然不知道如何让它用后缀数组中的值替换它。

最佳答案

我不确定我是否明白您的意思,但您可能会从以下内容中得到一个想法:

String[] attributes = {"Title", "Callsign", "Identifier"};
String itemString = "Random (X)";
if (itemString.contains("(X)")) {
itemString = itemString.replace(
"(X)",
attributes[new Random().nextInt(((attributes.length - 1) - 0) + 1) + 0]
);
}
System.out.println(itemString);
Item r2 = new Item(itemString, 500);

关于java - 是否可以从可能的选项数组中随机化对象内字符串属性中的单个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032180/

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