Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改当前播放曲目_Java_Collections_Iterator - Fatal编程技术网

Java 更改当前播放曲目

Java 更改当前播放曲目,java,collections,iterator,Java,Collections,Iterator,我正在用Java编写一个程序,该程序必须用于创建和收集播放列表中的歌曲。我已经让它打印、添加和洗牌播放列表中的歌曲,我必须让它将当前播放的曲目(当前曲目标题、艺术家姓名和专辑)更改为播放列表中的下一首曲目。当到达播放列表的末尾时,它必须自动从头开始。我必须在某些方面使用迭代器方法next和hasNext,但我不知道如何使用。我已经开始做了,但还没有碰壁。我对Java还是个新手,所以我非常感谢您的帮助,甚至是一个提示 代码如下: public void next() { ListIter

我正在用Java编写一个程序,该程序必须用于创建和收集播放列表中的歌曲。我已经让它打印、添加和洗牌播放列表中的歌曲,我必须让它将当前播放的曲目(当前曲目标题、艺术家姓名和专辑)更改为播放列表中的下一首曲目。当到达播放列表的末尾时,它必须自动从头开始。我必须在某些方面使用
迭代器
方法
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;
}

//}

您应该在变量中指定itr.next()的结果

这些方法的目的是什么?其中至少有4个对我来说是无用的。一个提示是,如果您到达列表的末尾,
hasNext()
将返回null。如果是,那么您只需将nest song设置为列表中的第一首歌曲即可。这四种方法都来自接口MusicPlaylist,因此我无法更改它们,对吗?然而,我自己也经历了一段艰难的时光,看到了如何将所有这些都包括在内:/@BlackHatSamurai是的,这样当它结束时,它应该重新开始。但我很难看到如何使用下一种方法。因此,如果hasNext(播放列表中有下一首歌曲),则该歌曲应设置为currentSong。但我不知道如何做到这一点:/我有两个实例变量currentSong和index,我认为我应该使用它们来存储信息?我只是觉得我误解了如何使用hasNext方法?比如:itr.next=currentSong?