恒生云融2020应届生JAVA笔试题:随机播放歌曲
2021-05-03 10:27
标签:完全 some dom 生成随机数 splay 歌曲 eth private oid 题目要求:数组中有10首歌曲。要求随机播放全部歌曲且不能重复播放。 笔试时时间比较紧,只想到了play1()这种思路(运气好还是通过了),play2()是后来想到的稍微比play1()强一点的思路,play3()是网上看到的思路不一样,所以也发了出来(附有原文链接,如果不同意可以删除)。 恒生云融2020应届生JAVA笔试题:随机播放歌曲 标签:完全 some dom 生成随机数 splay 歌曲 eth private oid 原文地址:https://www.cnblogs.com/yangwanhao/p/13198944.html/**
* 随机播放音乐test
*
* @author 杨万浩
* @since 2020/6/27 15:51
*/
public class RandomSongsPlay {
private static final String[] songs = new String[] {
"歌曲1", "歌曲2", "歌曲3", "歌曲4", "歌曲5",
"歌曲6", "歌曲7", "歌曲8", "歌曲9", "歌曲10"
};
public static void main(String[] args) {
/*
* 数组中10首歌 要求随机播放全部 但是不能重复
*/
String separator = "----------------------------------";
play1();
System.out.println(separator);
play2();
System.out.println(separator);
play3();
}
private static void play1() {
/*
* 简单思路
* 每播放一首就把下标作为key放入Map中
* 每次生成随机数时都看一下下标是否已经在Map中存在
* 如果存在就跳过 不存在就播放并存入Map
* 问题:如果访问不中 需要生成很多次随机数 假设就那么巧一直生成不中 程序一直执行
*/
Random random = new Random();
// 看看总共执行了几次循环
int executeCount = 0;
Map