我的任务是创建具有所有常用功能的 MP3 目录。我有一个 MP3_Track、MP3_UserInterface 和 Main 类。
public class MP3_Track implements Comparable<MP3_Track>{
private int trackNo;
private String artistName;
private String albumName;
private String trackLength;
MP3_Track(int no, String artist, String album, String length){
this.trackNo = no;
this.artistName = artist;
this.albumName = album;
this.trackLength = length;
// setters & getters
@Override
public String toString(){
return (" Track Number : " + trackNo + "\n Artist Name : " + artistName + "\n Album Name : " + albumName +"\n Track Length : " + trackLength);
}
@Override
public int compareTo(MP3_Track aTrack){
int result;
try{
result = artistName.compareTo(aTrack.artistName);
}
catch(UnsupportedOperationException e){
throw new UnsupportedOperationException("Not supported here.");
}
return result;
}
}
我的主要课程包含:
static void deleteTrack()
static MP3_Track addTrack()
static void moveTrack()
static void exploreTracks()...etc
主要调用相关方法,具体取决于用户在控制台中输入的内容。
如:Collections.sort(myTracks); myTracks 是 MP3_Tracks 的集合,目前 mt MP3_Track 覆盖了 compareTo() 方法,但正如您所见,它仅按艺术家名称排序!!!我希望用户可以选择如何对曲目进行排序等。我想也许我可以在 MP3_Track 中有一个数据mamber,它可以标记要实现的排序类型,然后在 compareTo 方法中使用一些 if 来返回所需的结果。这个解决方案似乎有些麻烦,我想到的另一种可能是实现自定义接口!
任何关于巧妙解决方法的建议都非常感谢???
非常感谢我提前,伟大的网站顺便说一句..