我试图弄清楚如何从表中获取随机字符串,包括 10 个单词。我正在创建游戏刽子手,但我不想一个词两次。游戏将继续进行,直到选出 5 个单词。
有什么好的解决办法吗?这是我现在的表的随机化方法。
private String wordList[] = { "String1", "String2", ..... }
public void getRandomWord(){
Random generator = new Random();
int r = generator.nextInt(9);
activeWord = wordList[r];
}
我试着让它工作,但没有运气:
ArrayList<String> usedWords= new ArrayList<String>();
public void getRandomWord(){
Random generator = new Random();
int r = generator.nextInt(9);
if(addWord(wordList[r])){
activeWord= wordList[r];
}
}
private boolean addWord(String word) {
for(String v : usedWords){
if(!v.equals(word)){
usedWords.add(word);
return true;
}
else{
getRandomWord();
}
}
return false;
}
我想我已经做了一个迭代,但我猜那不是必要的。
我一直在考虑有一个带有布尔值的字符串表。所以如果这个词的值是真的,我就抓住它,如果不是,我就一直走下去,直到我找到一个词。
我可能会为此使用一个while循环?