例子:
wordsUsed[0][0] = "Word 1";
wordsUsed[0][1] = "0";
wordsUsed[1][0] = "Word 2";
wordsUsed[1][1] = "0";
String wordsCopy[][] = new String[2][2]
我想要的是 wordsCopy[][] 包含“Word 1”2 次和“Word 2”也 2 次。我不想要的是“Word 1”的随机次数和“Word 2”的随机次数
wordsUsed[x][0]
^ 是一个包含单词的字符串 // x 表示“任何值”
wordsUsed[x][1]
^是标准的“0”
wordsCopy[][]
^ 是一个新数组,它将在 kleurGebruikt[x][0] 中存储每个字符串的 2 个
基本上我想要完成的是来自 [x][0] 的相同字符串在新数组中存储的次数永远不会超过 2 次
到目前为止我得到的是它会检查计数器,如果它是 0,它将复制字符串,然后将 0 更改为 1。如果稍后它得到相同的字符串,它将看到它已经使用过一次并复制它再一次。现在我的问题是,当它被复制两次时,我不确定如何让它跳过这个字符串并尝试不同的字符串。任何帮助表示赞赏
public void randomWords() {
Random r = new Random();
int rndm = 0;
for(int i=0; i<4; i++){
for(int j=0; j<5; j++){
rndm = r.nextInt(wordsUsed.length);
if (wordsUsed[rndm][1].equals("0")){
wordsCopy[i][j] = wordsUsed[rndm][0];
wordsUsed[rndm][1] = "1";
}
else if (wordsUsed[rndm][1].equals("1")){
wordsCopy[i][j] = wordsUsed[rndm][0];
wordsUsed[rndm][1] = "2";
}
else if (wordsUsed[rndm][1].equals("2")){
// at this point I need to go back to the start of the current
// if loop and make it so that a new random string is searched for
// without leaving a null element in the array.
}
}
顺便说一句,如果标题不是很好,我很抱歉。我真的不知道如何用几句话来解释自己
谢谢