Hallo!
Habe 2 Klassen, die Buch und Daten heissen. Die Klasse Buch spiegelt eigentlich ein struct wieder, mit Settern und Gettern für die Attribute. Die Klasse Daten soll jetzt auf diese Buch-Klasse zugreifen können
Erstmal Quellcode (es gehören noch 4 weitere Klassen zum kompletten Programm):
Klasse Buch:
Klasse Daten:
Das Problem ist folgendes:
Er meckert an dieser Stelle: Bucharray[0].setAutor("Schröder");
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Daten.fill(Daten.java:31)
Was die Fehlermeldung besagt weiss ich, er zeigt auf ein Objekt dass null ist.
Aber das hilft mir nicht... und verstehen, wieso es an dieser Stelle null ist tue ich auch nicht.
Was muss ich tun, um das Problem zu beheben?
Wieso kann ich nicht in das Bucharray reinschreiben ?
Danke schonmal.
Gruß, Nemesys
Habe 2 Klassen, die Buch und Daten heissen. Die Klasse Buch spiegelt eigentlich ein struct wieder, mit Settern und Gettern für die Attribute. Die Klasse Daten soll jetzt auf diese Buch-Klasse zugreifen können
Erstmal Quellcode (es gehören noch 4 weitere Klassen zum kompletten Programm):
Klasse Buch:
Java:
/**
*
* TODO Add comment here
*
* @author $Author: $
* @version $Revision: $, $Date: $ UTC
*/
public class Buch
{
protected String Autor;
protected String Titel;
protected String Verlagsname;
protected int Erscheinungsjahr;
protected String Erscheinungsort;
protected String ISBN;
/**
*
* TODO Add constructor comment here
*
*/
Buch()
{
}
public void setAutor(String _Autor)
{
this.Autor = _Autor;
}
public String getAutor()
{
return Autor;
}
public void setTitel(String _Titel)
{
this.Titel = _Titel;
}
public String getTitel()
{
return Titel;
}
public void setVerlagsname(String _Verlagsname)
{
this.Verlagsname = _Verlagsname;
}
public String getVerlagsname()
{
return Verlagsname;
}
public void setErscheinungsjahr(int _Erscheinungsjahr)
{
this.Erscheinungsjahr = _Erscheinungsjahr;
}
public int getErscheinungsjahr()
{
return Erscheinungsjahr;
}
public void setErscheinungsort(String _Erscheinungsort)
{
this.Autor = _Erscheinungsort;
}
public String getErscheinungsort()
{
return Erscheinungsort;
}
public void setISBN(String ISBN)
{
this.Autor = ISBN;
}
public String getISBN()
{
return ISBN;
}
}
Klasse Daten:
Java:
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/**
*
* TODO Add comment here
*
* @author $Author: $
* @version $Revision: $, $Date: $ UTC
*/
public class Daten
{
Buch[] Bucharray = new Buch[100];
Index[] Indexarray = new Index[100];
/**
*
* TODO Add constructor comment here
*
*/
public Daten()
{
}
public void fill()
{
Bucharray[0].setAutor("Schröder");
Bucharray[0].setErscheinungsjahr(1994);
Bucharray[0].setErscheinungsort("Texas");
Bucharray[0].setISBN("12345");
Bucharray[0].setTitel("Datenbanken");
Bucharray[0].setVerlagsname("Bertelsfrau");
}
public void create()
{
Writer fw = null;
try
{
fw = new FileWriter( "Buch.txt" );
for (int i=0;i<10;i++)
{
fw.write(Bucharray[i].getAutor());
fw.write(Bucharray[i].getErscheinungsjahr());
fw.write(Bucharray[i].getErscheinungsort());
fw.write(Bucharray[i].getISBN());
fw.write(Bucharray[i].getTitel());
fw.write(Bucharray[i].getVerlagsname());
}
fw.append( System.getProperty("line.separator") ); // e.g. "\n"
}
catch ( IOException e ) {
System.err.println( "Konnte Datei nicht erstellen" );
}
finally {
if ( fw != null )
try { fw.close(); } catch ( IOException e ) { e.printStackTrace(); }
}
}
public static void search()
{
}
}
Das Problem ist folgendes:
Er meckert an dieser Stelle: Bucharray[0].setAutor("Schröder");
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Daten.fill(Daten.java:31)
Was die Fehlermeldung besagt weiss ich, er zeigt auf ein Objekt dass null ist.
Aber das hilft mir nicht... und verstehen, wieso es an dieser Stelle null ist tue ich auch nicht.
Was muss ich tun, um das Problem zu beheben?
Wieso kann ich nicht in das Bucharray reinschreiben ?
Danke schonmal.
Gruß, Nemesys