【问题标题】:Change current playing track更改当前播放曲目
【发布时间】:2023-03-25 07:42:02
【问题描述】:

我正在开发一个 Java 程序,该程序必须用于从播放列表中创建和收集歌曲。我已经让它打印、添加和随机播放播放列表中的歌曲,我必须让它将当前播放的曲目(当前曲目标题、艺术家姓名和专辑)更改为播放列表中的下一首曲目。当到达播放列表的末尾时,它必须自动从头开始。我必须在某些方面使用Iterator 方法nexthasNext,但我不知道如何。我已经开始了,但我还没有碰壁。我对 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


【解决方案1】:

您应该将 itr.next() 的结果赋值给变量。

【讨论】:

  • 像这样:itr.next = currentSong; ?
猜你喜欢
  • 1970-01-01
  • 2016-02-26
  • 2012-05-17
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
相关资源
最近更新 更多