只是想知道如何創建歌曲對象(歌曲1,歌曲2,歌曲3,歌曲4)的播放列表,其中每個對象都有自己的值(名稱,藝術家,文件大小,持續時間)。我無法爲這個程序使用數組/列表。只要看看下面的getSong()
和addSongToPlaylist()
方法,我包括其他方法只是爲了顯示歌曲對象的結構。將對象從一個類移動到另一個類(Java)
這是我SongDatabase類:
public class SongDatabase {
Scanner console = new Scanner(System.in);
private Song song1=null, song2=null, song3=null, song4=null;
public void addNewSong() {
if (song1 == null) {
song1 = getFromUser();
}
else if (song2 == null) {
song2 = getFromUser();
}
else if (song3 == null) {
song3 = getFromUser();
}
else if (song4 == null) {
song4 = getFromUser();
}
else {
System.out.println("The database is currently full. Please delete a song before adding a new one.");
System.out.println("");
}
}
private Song getFromUser() {
Song song = new Song();
System.out.println("Name of song:");
song.setName(console.next());
System.out.println("Artist:");
song.setArtist(console.next());
System.out.println("File size (MB):");
song.setFileSize(console.nextInt());
System.out.println("Duration (seconds):");
song.setDuration(console.nextInt());
System.out.println("Song successfully added.");/
System.out.println("");
return song;
}
public Song getSong(int songNumber) {
if (songNumber == 1){
return song1;
}
else if (songNumber == 2){
return song2;
}
else if (songNumber == 3){
return song3;
}
else if (songNumber == 4){
return song4;
}
else {
return song1;
}
}
然後我的菜單類:
public class Menu {
Scanner console = new Scanner(System.in);
private SongDatabase database = new SongDatabase();
private Playlist playlist = new Playlist();
private int songCount=0;
private void addSongToPlaylist() {
if (songCount <=3) {
System.out.println("Please enter the number of the song you'd like to be added to the playlist.");
System.out.println("");
int songNumber;
songNumber = console.nextInt();
switch (songNumber) {
case 1:
playlist.setSong(database.getSong(1));
break;
case 2:
playlist.setSong(database.getSong(2));
break;
case 3:
playlist.setSong(database.getSong(3));
break;
case 4:
playlist.setSong(database.getSong(4));
break;
default:
System.out.println("Please enter a valid song number.");
break;
}
songCount++;
}
到目前爲止,addSongToPlaylist()
方法應該從getSong()
法權鬆1對象?但我不確定如何將這些歌曲對象添加到Playlist
類中的播放列表中。我知道我需要像public void setSong(parameters?)
這樣的方法,但我不確定如何構造它。有任何想法嗎?幫助將不勝感激,謝謝!
什麼是我們的Playlist類。 PlayList類將有名單 –
HJK
@HJK,OP說他不能使用列表或集合或數組。 – JonasCz
您不能移動對象,只能將*引用*複製到對象。 –