簡體   English   中英

將類的參數添加到數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM