因此,我一直在使用包含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/

10-17 03:04