gpt4 book ai didi

java - 从表中获取随机字符串,但不能多次

转载 作者:行者123 更新时间:2023-12-02 07:51:09 24 4
gpt4 key购买 nike

我试图弄清楚如何从表中获取随机字符串,包括 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;
}

我想我已经进行了迭代,但我猜这不是必要的。

我一直在考虑拥有一个带有 boolean 值的字符串表。因此,如果这个词的值(value)是真的,我会捕获它,如果不是,我会继续下去,直到我找到一个词。

我可以使用 while 循环吗?

最佳答案

如果将 wordList 设为 ArrayList,则每次使用时都可以从列表中删除该单词。这样,可能值的列表就会缩小,并且不存在两次选择单词的风险。

关于java - 从表中获取随机字符串,但不能多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214728/

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