我對 Java 和一般編碼還很陌生,所以如果這是一件簡單的事情,我深表歉意。我想知道是否可以在字符串中添加一個變量,當(dāng)從選項的 ArrayList 中選擇項目本身時,該變量將被隨機化。我已經(jīng)創(chuàng)建了對象,將它們放在 ArrayList 中,并且有一個方法可以從 ArrayList 中隨機調(diào)用索引并打印它們的屬性。但是,有些(不是全部)我想從另一個單獨的數(shù)組中隨機化一部分“名稱”屬性。有沒有辦法做到這一點?如果可能的話,我希望它在每次調(diào)用時都是隨機的,所以如果我從 ArrayList 中兩次調(diào)用該特定對象,它的“名稱”屬性將不相同(除非偶然從中調(diào)用相同的后綴隨機名稱數(shù)組兩次)。//Doesn't need randomizationItem 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 classString[] 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 仍然打印出“Random (X)”而不是所需的“Random Title”。if如果我刪除該函數(shù)并使用靜態(tài)值進行替換,我就能讓它工作,比如name = name.replace("(X)","Title");,但我仍然無法弄清楚如何讓它用后綴數(shù)組中的值替換它。
1 回答

楊__羊羊
TA貢獻1943條經(jīng)驗 獲得超7個贊
我不確定我是否明白你的意思,但你可能會從以下內(nèi)容中得到一個想法:
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);
添加回答
舉報
0/150
提交
取消