私はコンピュータ サイエンスの 1 年生で、1 学期の課題は Java で簡単な音楽データベースを設計することです。私は 3 つのクラス、Interface (すべてのユーザー イン/アウトを処理する)、Song (アーティスト、名前、期間、ファイルサイズを格納する)、および Database (4 つの曲オブジェクトを格納する; a、b、c、d) を使用しています。プログラムを正常にコンパイルして実行できますが、最近入力した情報を返すメッセージの代わりに最後のフィールド (fileSize) を入力すると、NullPointerException が表示されます。これは、null の値の割り当てと関係があることを理解しています。
データベース クラスのコードは次のとおりです。
public class songDatabase
{
song sin = new song();
private song a,b,c,d;
public songDatabase()
{
a = null;
b = null;
c = null;
d = null;
}
public void addSong(String artist, String name, double duration, int fileSize)
{
if (a==null) setData(a,artist,name,duration,fileSize);
else if (b==null) setData(b,artist,name,duration,fileSize);
else if (c==null) setData(c,artist,name,duration,fileSize);
else if (d==null) setData(d,artist,name,duration,fileSize);
}
private void setData(song sin, String artist, String name, double duration, int fileSize)
{
sin.setArtist(artist);
sin.setName(name);
sin.setDuration(duration);
sin.setFileSize(fileSize);
}
public String visconfir()
{
if (a != null) return("You have imported: "+sin.getName()+"by"+sin.getArtist()+"which is"
+sin.getFileSize()+"kB and"+sin.getDuration()+"long(mm.ss)");
else return("Error - No file imported to database memory slot a");
}
}
誰でもこれで私を助けることができますか?