Java 使用jfugue,如何从数组中生成随机音乐字符串(使用player.play)?

Java 使用jfugue,如何从数组中生成随机音乐字符串(使用player.play)?,java,jfugue,Java,Jfugue,我在Eclipse中使用Jfugue,代码中有一个音乐字符串列表。当我运行代码时,它会回放所有代码,但我希望以随机顺序一次回放一个 到目前为止,我正在使用: Pattern pattern = new Pattern ("A"); Player.play(A); Pattern pattern = new Pattern ("B"); Player.play(B); 我尝试过使用“Random Random=new Random();”,但这不起作用,我不知道如何实现它 我还尝试重新起诉一个随

我在Eclipse中使用Jfugue,代码中有一个音乐字符串列表。当我运行代码时,它会回放所有代码,但我希望以随机顺序一次回放一个

到目前为止,我正在使用:

Pattern pattern = new Pattern ("A");
Player.play(A);
Pattern pattern = new Pattern ("B");
Player.play(B);
我尝试过使用“Random Random=new Random();”,但这不起作用,我不知道如何实现它

我还尝试重新起诉一个随机词生成器:

  for(int i = 0; i < numberOfTest; i++) {
    int index = (int)(Math.random() * 10);
    System.out.println(strings[index]);
for(int i=0;i
但我不知道如何用音乐字符串替换字符串:


一般来说,我的大多数问题都是因为不熟悉正确的语法,尤其是Jfugue。

将它们放在一个列表中,然后将其洗牌:

List<Pattern> allPatterns = Arrays.asList(new Pattern ("A"), new Pattern ("B"), ... more patterns);
Collections.shuffle(allPatterns);

@WolfgangAmadeusMozart请查看我的更新。假设玩家玩“模式”;当然,你必须告诉玩家使用你放在一起的随机列表中的顺序!@WolfgangAmadeusMozart我不是jfugue的专家,因此我无法告诉你两者之间的区别:A)调用play()在一个循环中多次调用,然后B)调用一次,传递一个值数组。最终,两种解决方案都会播放相同的“一组”模式。但是a)多次调用该方法,而B)只调用一次。@WolfgangAmadeusMozart并回答您的另一个问题:我向您展示的……每次都应该播放一个随机顺序。当您调用shuffle时(),并且您在该列表中有足够的元素…您每次都应该获得不同的顺序。因此,如果您当前的代码没有达到您想要的效果…请编写一个新问题,包括当前代码,并解释其中发生的情况,以及它是如何出乎意料。请避免使用注释来回答越来越多的问题。这不是这个网站打算怎么做。提示:A)你应该遵循java命名惯例。我假设“Player”是一个(本地)变量,所以你应该给它命名为Player(变量名在java B中为camelCase)只使用与你的问题相关的标记。你使用的IDE或编辑器的类型……与这个问题根本不相关。
// by using the for-each loop
for (Pattern onePattern : allPatterns) {
   player.play(onePattern);
}

// alternatively, turn the list back into an array and play that
player.play(allPatterns.toArray(new Pattern[0]);