PDA

View Full Version : Giúp mình tìm lỗi NullPointerException trong bài này với



art_mu
15-06-2013, 04:50 AM
Bài mình chỉ có 2 lớp là :Song và Album(là một mảng các Song và có hàm add lớp Song vào)
cái này là lớp Song
package music;

public class Song {
private String title="";
private String artist="";
private String composer="";

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public String getComposer() {
return composer;
}
public void setComposer(String composer) {
this.composer = composer;
}




public String toString() {
return getTitle() + "--" + getArtist() + "--" + getComposer();
}

}

cái này là lớp Album
package music;

import java.util.ArrayList;

public class Album {
private ArrayList<Song> listSong;

public ArrayList<Song> getListSong() {
return this.listSong;
}

public void addListSong(Song s) {
try{
getListSong().add(s);
}
catch(NullPointerException e){
System.out.println("NullPointerException");
}
}

public void printAlbum(){
for (Song s :getListSong()) {
System.out.println(s.toString());
}
}
public void setListSong(ArrayList<Song> listSong) {
this.listSong = listSong;
}

public static void main(String[] args) {

Song s = new Song();

Album a = new Album();


s.setArtist("b");
s.setTitle("a");
s.setComposer("c");

a.addListSong(s);

System.out.println(s.toString());
a.printAlbum();
}

}

và màn hình console trong eclipse:"
NullPointerException
Exception in thread "main" java.lang.NullPointerException
at music.Album.printAlbum(Album.java:22)
at music.Album.main(Album.java:44)
a--b--c "
mình không biết null ở đâu,vì nếu null thì lớp Song đã không in ra là a-b-c
mình mong các bạn chỉ mình lỗi sai với....!!
cản ơn rất nhiều

Wazi Armstrong
15-06-2013, 08:18 AM
Bạn chưa khởi tạo ArrayList<Song> listSong;