[英]Adding a parameter of a class to an array
我目前正在創建一個項目,用於存儲有關歌曲和擁有它們的唱片公司的數據。 我當前正在創建一個名為addSong的方法,該方法應采用一個參數(Song類的實例),並將給定的歌曲添加到Company數組中。
public class Song
{
String songName;
String songArtist;
int songPlayed;
double songEarned;
public Song(String name, String artist, int played, double earned) {
songName = name;
songArtist = artist;
songPlayed = played;
songEarned = earned;
}
public class Company
{
String companyName;
String[] companySongs = new String[10];
public Company(String cName, String[] cSongs)
{
companyName = cName;
companySongs = cSongs;
}
void addSong()
{
for (int a = 0; a<10; a++)
{
}
}
}
public static void main(String[] args)
{
}
}
我正在努力了解您如何准確地將歌曲名稱(songName)的值添加到String數組中,並且需要一些指導。
如果要將歌曲添加到companySongs,則應創建一個Songs數組,而不是Strings: Song[] companySongs = new Song[10];
無論如何,如果您想在每次調用時動態添加一首歌曲,則如果使用List<Song>
代替它可能是最簡單的。 addSong()
還應該具有您想要傳遞的對象的參數,即Song
。
以String[]
為例,由於您是通過構造函數傳遞數組的,因此無需在此處實例化String[]
: String[] companySongs = new String[10];
-> String[] companySongs;
我更新了您的代碼以實現List實現。 通常,您可能需要考慮重構代碼,以便Company類不會嵌套在Song類中(除非您有這樣做的特定原因)。
public class Company {
String companyName;
List<Song> companySongs;
public Company(String cName, List<Song> cSongs) {
companyName = cName;
companySongs = cSongs;
}
void addSong(Song newSong) {
companySongs.add(newSong);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.