gpt4 book ai didi

java - 测试产生随机结果的方法

转载 作者:行者123 更新时间:2023-12-05 00:39:52 25 4
gpt4 key购买 nike

我想测试这个方法:ArrayList<File> songs;

public void playRandomSong()
{
Random random = new Random();
int iNextSong = random.nextInt(songs.size());
File songToPlay = songs.get(iNextSong);
if (mediaPlayer != null && mediaPlayer.isPlaying())
mediaPlayer.stop();
mediaPlayer = new MediaPlayerImpl(songToPlay, new WhenDone());
mediaPlayer.play();
currentSong = songToPlay;
}

我是这样想的:多次运行该方法,看看它是否多次返回其中一个元素。但是我该如何用代码编写呢?

最佳答案

Random 不保证不会两次返回相同的值...所以你不能测试“看看它是否多次返回一个元素”

如果您需要,您必须围绕Random 实现一个Set,但要注意生日悖论...

我认为您有 2 个选择:

1 :您可以尝试为您的Random 播种,这样您就可以预测序列...

2 : 删除 Random 并使用 [Collections.shuffle][1] 随机播放 arrayList

对于选项 1,您必须更改方法的签名。

使用选项 2,您还将每首歌曲播放一次。

关于java - 测试产生随机结果的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315437/

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