0
以下類的創建,沒有接口/抽象類現在:Java:CD庫教程 - 存儲cd,藝術家和歌曲的數據類型?
- 測試 - 用於創建測試數據
- 音樂 - 應保存所有CD
- CD - 應儲存藝術家和CD標題+所有樂曲
- 藝術家 - 僅包含字符串名稱
- 歌 - 包含默認構造函數(藝術家anArtist,字符串SONGTITLE,字符串時間)
- 時間 - 這首歌durati上和後來的計算
我試過一個ArrayList,但它會被覆蓋,當我添加另一張CD。我需要一個數據類型來存儲數據和另一個數組的鏈接。例如:存儲藝術家和CD1的標題,並鏈接到另一個包含來自CD1的所有歌曲的陣列。從類測試
感謝
代碼:
Artist aArtist = new Artist("artist1");
CD aCD = myMusic.addCD(aArtist, "CD1");
aCD.addSong(aArtist, "song1", "1:00");
aArtist = new Artist("artist2");
CD aCD = myMusic.addCD(aArtist, "CD2"); //Overwrites arraylist from CD1
aCD.addSong(aArtist, "song2", "2:00");
我改變了我的ArrayList類音樂和類CD ...我認爲這是解決該教程更簡單的方法,但這裏是代碼:(輸出所有保存的歌曲和CD標題)
類音樂:
import java.util.ArrayList;
public class Music {
private ArrayList<CD> myCDs = new ArrayList<CD>();
public CD addCD(Artist anArtist, String cdTitle) {
CD aCD = new CD(anArtist, cdTitle);
myCDs.add(aCD);
return aCD;
}
public void showData() {
for (int i = 0; i < myCDs.size(); i++) {
for (int j = 0; j < myCDs.get(i).getMyCD().size(); j++) {
System.out.println(myCDs.get(i).getMyCD().get(j).getSong());
}
}
}
}
級CD:
import java.util.ArrayList;
public class CD {
private String cdTitle;
private ArrayList<Song> myCD = new ArrayList<Song>();
public CD(Artist aArtist, String cdTitle) {
setMyCD(aArtist, cdTitle);
}
public ArrayList<Song> getMyCD() {
return myCD;
}
public String getMyCDtitle() {
return cdTitle;
}
public void setMyCD(Artist anArtist, String cdTitle) {
this.cdTitle = anArtist.getName() + ": " + cdTitle;
}
public void addSong(Artist anArtist, String aTitle, String aDuration) {
myCD.add(new Song(anArtist, aTitle, aDuration));
}
}
類歌曲:
public class Song {
private String song;
public String getSong() {
return song;
}
public void setSong(String song) {
this.song = song;
}
public Song(Artist anArtist, String songtitle, String aDuration) {
Duration songDuration = new Duration(aDuration);
setSong(anArtist.getName() + ": " + songtitle + " ("
+ songDuration.getSongDuration() + ")");
}
}
一般:你將如何解決這樣一個項目? 我將不勝感激每一個建議或uml圖。
您需要提供一些代碼,我們能夠知道爲什麼光盤獲得「重寫」。 – aioobe