H
Hans123
Gast
Also vorab ich bin absoluter Java Neuling.
Folgendes Problem: Ich bekomme immer die Fehlermeldung
Exception in thread "main" java.lang.NullPointerException
at Warenkorb.setSumme(Warenkorb.java:11)
at Kunde.bezahlt(Kunde.java:15)
at Main.main(Main.java:16)
Code:
Was die Fehlermeldung bedeutet hab ich mittlerweile herausgefunden.
Ich versuche jetzt schon ewig den Fehler zu finden, mir gelingt es aber leider nicht.
Also für Hilfe wäre ich sehr dankbar!
Folgendes Problem: Ich bekomme immer die Fehlermeldung
Exception in thread "main" java.lang.NullPointerException
at Warenkorb.setSumme(Warenkorb.java:11)
at Kunde.bezahlt(Kunde.java:15)
at Main.main(Main.java:16)
Code:
Java:
public class Main {
public static void main(String[] args) {
Kunde p = new Kunde ("Peter");
Kunde i = new Kunde ("Ina");
i.kauft(new Artikel("Kleid",199.99));
Artikel d = new Artikel("Deo",46.0);
p.kauft(d);
i.kauft(new Artikel("Kette",499.));
p.kauft(new Artikel("Smartphone",600.));
String petersRechnungsText;
String inasRechnungsText;
/**double petersPreis = */p.bezahlt();
/**double inasPreis =*/ i.bezahlt();
int petersAnzahl = p.wkorb.anzahl;
int inasAnzahl = i.wkorb.anzahl;
petersRechnungsText = p.name /**+ " bezahlt " + petersPreis*/ + " fuer "
+ petersAnzahl + " Artikel. ";
inasRechnungsText = i.name /**+ " bezahlt " + inasPreis*/ + " fuer "
+ inasAnzahl + " Artikel. ";
System.out.println(petersRechnungsText);
System.out.println(inasRechnungsText);
}
}
public class Kunde {
String name;
Warenkorb wkorb = new Warenkorb();
public Kunde(String name){
this.name = name;
}
void kauft(Artikel a){
this.wkorb.add(a);
}
double bezahlt(){
return wkorb.getSumme();
}
}
public class Artikel {
String name;
double preis = 0;
public Artikel(String name, double preis){
this.name = name;
this.preis = preis;
}
}
public class Warenkorb {
int anzahl = 0;
Artikel artfeld[] = new Artikel[100];
public Warenkorb(){}
double getSumme(){
double summe = 0;
for(int i=0; i<= anzahl;i++)
{ summe = summe + artfeld[i].preis;}
return summe;
}
void add(Artikel a){
this.artfeld[anzahl] = a;
anzahl ++;
}
}
Was die Fehlermeldung bedeutet hab ich mittlerweile herausgefunden.
Ich versuche jetzt schon ewig den Fehler zu finden, mir gelingt es aber leider nicht.
Also für Hilfe wäre ich sehr dankbar!