2017-12-30 70 views
0

1つのクラスの曲を2番目のアルバムクラスに追加しようとしています。 しかし、私は "スレッドの例外"メイン "java.lang.NullPointerException"エラーを取得しています。 私はjavaに新しいですし、どんな助けもありがとうございます。アルバムに新しい曲を追加するjava

public class Album { 
// class behaviours 
private String albumName; 
private Song[] songs; 
private int totalAlbumLength; 
private int numSongs; 

// constructor 
public Album(String albumName) { 
    setAlbumName(albumName); 
} 


// special setters: adding new song 
public void addSong(Song newSong) { 
    this.songs[this.numSongs] = newSong; 
    this.numSongs++; 
} 

public void addSong(String songName, String artistName, int minutes, int seconds) { 
    Song newSong = new Song(songName, artistName, minutes, seconds); 
    addSong(newSong); 

} 

ソングクラス

public class Song { 
// class behaviours 
private String songName = ""; 
private String artistName = ""; 
private int songLength = 0; 

// constructors 
public Song(String songName, String artistName, int minutes, int seconds) { 
    setSongName(songName); 
    setAtristName(artistName); 
    setSongLength(minutes, seconds); 
} 

public Song(String songName, String artistName, int seconds) { 
    setSongName(songName); 
    setAtristName(artistName); 
    setSongLength(seconds); 
} 

答えて

1

あなたは、配列private Song[] songs;を初期化することはありません。あなたは要素の数がわからない場合は はArrayList<Song>

を使用 private Song[] songs = new Song[size];

ようにそれを初期化します

関連する問題