Hallo an alle,
ich versuche gerade, mir selbst Programmieren beizubrigen und habe dabei folgendes Programm geschrieben (ursprünglich stammt die Aufgabe von freitagsrunde.org). Es soll einen Kassenzettel erstellen:
Mir geht es hier nicht um das fehlende Exception Handling oder die "ungewöhnliche" Verwendung der inneren Klasse, sondern um folgendes:
Wenn ich das Programm compiliere, läuft es anstandslos durch. Bei der Ausführung kommt es aber zu dieser Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Kassenzettel1.main(Kassenzettel1.java:15)
Ich bin den Code schon mehrfach geändert (while- statt for-Schleife, etc.), aber der Fehler bleibt bestehen.
Kann mir jemand sagen, was daran falsch ist?
ich versuche gerade, mir selbst Programmieren beizubrigen und habe dabei folgendes Programm geschrieben (ursprünglich stammt die Aufgabe von freitagsrunde.org). Es soll einen Kassenzettel erstellen:
Java:
public class Kassenzettel1 {
public class Ware_Preis {
public String ware;
public int anzahl;
public float preis;
}
public static void main(String[] args) {
Ware_Preis[] einkaufsliste = new Ware_Preis[4];
float budget;
float gesamtpreis = 0.00f;
einkaufsliste[0].ware = "Wurst";
einkaufsliste[0].preis = 4.20f;
einkaufsliste[0].anzahl = 1;
einkaufsliste[1].ware = "Käse";
einkaufsliste[1].preis = 2.30f;
einkaufsliste[1].anzahl = 1;
einkaufsliste[2].ware = "Brot";
einkaufsliste[2].preis = 2.10f;
einkaufsliste[2].anzahl = 1;
einkaufsliste[3].ware = "DVD";
einkaufsliste[3].preis = 12.00f;
einkaufsliste[3].anzahl = 2;
budget = 50.00f;
for(int i = 0;i < einkaufsliste.length;i++) {
gesamtpreis += einkaufsliste[i].preis * einkaufsliste[i].anzahl;
}
if(budget < gesamtpreis) System.out.println("das Geld reicht nicht!");
else {
for(int j = 0;j<einkaufsliste.length;j++) {
System.out.println(einkaufsliste[j].ware + "\t" + einkaufsliste[j].anzahl + "x " + einkaufsliste[j].preis + " EUR");
}
}
}
}
Mir geht es hier nicht um das fehlende Exception Handling oder die "ungewöhnliche" Verwendung der inneren Klasse, sondern um folgendes:
Wenn ich das Programm compiliere, läuft es anstandslos durch. Bei der Ausführung kommt es aber zu dieser Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Kassenzettel1.main(Kassenzettel1.java:15)
Ich bin den Code schon mehrfach geändert (while- statt for-Schleife, etc.), aber der Fehler bleibt bestehen.
Kann mir jemand sagen, was daran falsch ist?