因此,我一直在使用包含4个唯一单词的声音阵列,到目前为止,我已经成功地随机分配了说出的4个单词。
public void playRandomOrder(int totalWords, int pause) throws InterruptedException {
Random random = new Random(); // Random number generator for array shuffle
for (int i =0; i< numWords; i++) {
int randomPosition = random.nextInt(totalWords); // how many words to sound out (4)
Sound temp = myWordArray[i];
myWordArray[i] = myWordArray[randomPosition];
myWordArray[randomPosition] = temp;
myWordArray[i].blockingPlay();
Thread.sleep(pause);
}
}
但是我的下一个目标是按随机顺序播放单词,但是每个单词只能播放一次,因为现在,它可以多次播放相同的单词。关于如何实现这一目标的任何建议?我知道如何使用整数,但是我已经在Sound上尝试了数小时,但无济于事。
最佳答案
首先对数组进行洗牌。这里的代码:
public void playRandomOrder(int totalWords, int pause) throws InterruptedException {
Collections.shuffle(myWordArray);
for (int i =0; i< numWords; i++) {
myWordArray[i].blockingPlay();
Thread.sleep(pause);
}
}
关于java - 如何以随机唯一的顺序播放声音阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39782663/