我走对了吗?它必须以随机顺序播放数组列表中的每条音轨一次。
public void randomAllTrack() {
int shuffle = getNumberOfTracks();
int shuffleplay = randomTrack.nextInt(shuffle);
Track track = tracks.get(shuffleplay);
int i=0;
while(i < getNumberOfTracks())
{player.startPlaying(track.getFilename());
System.out.println("Now playing: " + track.getArtist() + " - "
+ track.getTitle());
i++;}
}
假设tracks
是Collection
,您可以在执行Collections.shuffle(List)
之后使用for-each
循环,并且可以使用格式化的IO。就像
public void randomAllTrack() {
List<Track> randomTracks = new ArrayList<>(tracks);
Collections.shuffle(randomTracks);
for (Track track : randomTracks) {
player.startPlaying(track.getFilename());
System.out.printf("Now playing: %s - %s%n", track.getArtist(),
track.getTitle());
}
}
创建List
并使用Collection
,如果您只需要初始洗牌:
List<Track> tracks = new ArrayList<>();
Collections.shuffle(tracks);
for (Track track : tracks) {
System.out.println("Playing track: " track.getFilename());
}