【发布时间】:2023-03-25 07:42:02
【问题描述】:
我正在开发一个 Java 程序,该程序必须用于从播放列表中创建和收集歌曲。我已经让它打印、添加和随机播放播放列表中的歌曲,我必须让它将当前播放的曲目(当前曲目标题、艺术家姓名和专辑)更改为播放列表中的下一首曲目。当到达播放列表的末尾时,它必须自动从头开始。我必须在某些方面使用Iterator 方法next 和hasNext,但我不知道如何。我已经开始了,但我还没有碰壁。我对 Java 还是很陌生,所以我非常感谢一些帮助,甚至是一个提示。
代码如下:
public void next() {
ListIterator itr = songs.listIterator();
if (itr.hasNext()) {
itr.next();
}
}
public String currentTrackTitle() {
return null;
}
public String currentArtistName() {
return null;
}
public String currentAlbumName() {
return null;
}
public int currentTrackLength() {
return 0;
}
//}
【问题讨论】:
-
这些方法的目的是什么?其中至少有 4 个对我来说看起来毫无用处。
-
一个提示是,如果您到达列表末尾,
hasNext()将返回 null。如果是这样,那么您只需将嵌套歌曲设置为列表中的第一首歌曲。 -
@ROMANIA 这四个方法来自一个接口MusicPlaylist,所以我不能改变那些对吧?但是,我自己很难看到如何包含所有这些:/
-
@BlackHatSamurai 是的,这样当它到达终点时它应该重新开始。但是我很难看到如何使用该 hasNext 方法。因此,如果 hasNext(播放列表中有下一首歌曲),则该歌曲应设置为 currentSong。但我不知道该怎么做:/ 我有两个实例变量 currentSong 和 index,我认为我应该使用它们来存储信息?我只是觉得我误解了如何使用 hasNext 方法?
标签: java collections iterator