Hi zusammen,
Ich habe (mal wieder) ein kleines Problem bei einer Aufgabe aus meinem Java-Buch. In dem aktuellen kapitel geht es um Klassen. (Deshalb der Präfix)
Die Aufgabe lautet:
Erstelle ein Adressverwaltungs-Programm, dass 20 Einträge verwalten kann. Ein Eintrag beinhaltet den Namen, die Strasse, die Hausnummer, den Wohnort, die Postleitzahl, die E-Mail Adresse und einen Kommentar.
Mein Programm, das leider nicht funktioniert: (Fehler ist unten aufgeführt)
Das Programm läuft bis zu dem Zeitpunkt, an dem ich eine Eingabe machen will. Dann kommt:
Exception in thread "main" java.lang.NullPointerException
at Adressverwaltung.main(Adressverwaltung.java:30)
Was bedeutet der Fehler genau?
Wie kann ich ihn beheben?
Wäre nett wenn mir jemand helfen könnte!
Gruss
Lieger
Ich habe (mal wieder) ein kleines Problem bei einer Aufgabe aus meinem Java-Buch. In dem aktuellen kapitel geht es um Klassen. (Deshalb der Präfix)
Die Aufgabe lautet:
Erstelle ein Adressverwaltungs-Programm, dass 20 Einträge verwalten kann. Ein Eintrag beinhaltet den Namen, die Strasse, die Hausnummer, den Wohnort, die Postleitzahl, die E-Mail Adresse und einen Kommentar.
Mein Programm, das leider nicht funktioniert: (Fehler ist unten aufgeführt)
Java:
import Prog1Tools.IOTools;
public class Adressverwaltung {
public static class Adresse {
public String name;
public String strasse;
public int hausnummer;
public int postleitzahl;
public String wohnort;
public String mail;
public String kommentar;
}
public static void main (String args[]){
Adresse AdresseObjekt;
AdresseObjekt = new Adresse();
Adresse[] adressen = new Adresse[20];
AdresseObjekt = adressen[0];
for (int i = 0; i < adressen.length; i++){
adressen[i] = new Adresse();
}
for (int auswahl = 0;auswahl != 4;){
System.out.println("Was möchtest du tun?");
System.out.println("1 = Eingabe machen");
System.out.println("2 = Adresse auslesen lassen");
System.out.println("3 = Aktuelle Adressennummer ändern");
System.out.println("4 = Beenden");
auswahl = IOTools.readInt("Deine Wahl:");
switch (auswahl){
case 1:
AdresseObjekt.name = IOTools.readLine("Name:");
AdresseObjekt.strasse = IOTools.readLine("Strasse:");
AdresseObjekt.hausnummer = IOTools.readInt("Hausnummer:");
AdresseObjekt.postleitzahl = IOTools.readInt("Postleitzahl:");
AdresseObjekt.wohnort = IOTools.readLine("Wohnort:");
AdresseObjekt.mail = IOTools.readLine("Mail:");
AdresseObjekt.kommentar = IOTools.readLine("Kommentar:");
System.out.println("");
System.out.println("Eingabe abgeschlossen");
break;
case 2:
System.out.println("Name:" + AdresseObjekt.name);
System.out.println("Strasse:" + AdresseObjekt.strasse);
System.out.println("Hausnummer:" + AdresseObjekt.hausnummer);
System.out.println("Postleitzahl:" + AdresseObjekt.postleitzahl);
System.out.println("Wohnort:" + AdresseObjekt.wohnort);
System.out.println("Mail:" + AdresseObjekt.mail);
System.out.println("Kommentar:" + AdresseObjekt.kommentar);
System.out.println("");
System.out.println("Ausgabe abgeschlossen");
break;
case 3:
int n = 0;
n = IOTools.readInt("Adresse:");
AdresseObjekt = adressen[n];
System.out.println("Adresse erfolgreich geändert");
break;
case 4:
break;
}
}
System.out.println("Beendet");
}
}
Das Programm läuft bis zu dem Zeitpunkt, an dem ich eine Eingabe machen will. Dann kommt:
Exception in thread "main" java.lang.NullPointerException
at Adressverwaltung.main(Adressverwaltung.java:30)
Was bedeutet der Fehler genau?
Wie kann ich ihn beheben?
Wäre nett wenn mir jemand helfen könnte!
Gruss
Lieger