Hallo zusammen,
sorry falls die Frage für euch dämlich sein sollte, ich studiere Wirtschaftsinformatik im Fernstudium und habe daher keine Kommilitonen an die ich mich wenden könnte und aus den Büchern werde ich bei dem Problem nicht schlau. Für die aktuelle Hausarbeit soll ich die Klasse Warenkorb und die Klasse Artikel erstellen. Der Warenkorb soll gefüllt werden können, sowie die Preisberechnung durchführen etc.
Ich möchte die Bruttosumme des gesamten Warenkorbs berechnen. Die Netto-Summe ist in der Klasse Artikel gespeichert, in der Klasse Warenkorb gibt es die Methode getWarenkorbBruttoSumme() welche die Methode getBruttopreis() aufruft. In dem Array warenkorb[] vom Typ Artikel werden die einzukaufenden Artikel gespeichert.
Das Problem ist jetzt, dass beim Aufruf der Methode getBruttopreis() das Array warenkorb[] irgendwie verloren geht, d.h. dass innerhalb der Methode nur ein leeres Array vorhanden ist, obwohl in der Methode getWarenkorbBruttoSumme() das Array noch gefüllt ist. Ich scheine wohl beim Aufruf etwas falsch zu machen. Hier die beiden Methoden:
Für den Gesamtzusammenhang stelle ich noch den kompletten Code hier rein.
Ich hoffe jemand nimmt sich die Zeit mir weiter zu helfen. Vielen Dank schon mal dafür!
sorry falls die Frage für euch dämlich sein sollte, ich studiere Wirtschaftsinformatik im Fernstudium und habe daher keine Kommilitonen an die ich mich wenden könnte und aus den Büchern werde ich bei dem Problem nicht schlau. Für die aktuelle Hausarbeit soll ich die Klasse Warenkorb und die Klasse Artikel erstellen. Der Warenkorb soll gefüllt werden können, sowie die Preisberechnung durchführen etc.
Ich möchte die Bruttosumme des gesamten Warenkorbs berechnen. Die Netto-Summe ist in der Klasse Artikel gespeichert, in der Klasse Warenkorb gibt es die Methode getWarenkorbBruttoSumme() welche die Methode getBruttopreis() aufruft. In dem Array warenkorb[] vom Typ Artikel werden die einzukaufenden Artikel gespeichert.
Das Problem ist jetzt, dass beim Aufruf der Methode getBruttopreis() das Array warenkorb[] irgendwie verloren geht, d.h. dass innerhalb der Methode nur ein leeres Array vorhanden ist, obwohl in der Methode getWarenkorbBruttoSumme() das Array noch gefüllt ist. Ich scheine wohl beim Aufruf etwas falsch zu machen. Hier die beiden Methoden:
Java:
public double getBruttopreis(int i)
{
double bruttopreis = 0;
{
bruttopreis += warenkorb[i].getNettopreis()*((this.warenkorb[i].getSteuersatz()+1));
}
return bruttopreis;
}
public double getWarenkorbBruttoSumme()
{
int i = 0;
double summe = 0;
while (warenkorb[i] != null)
{
summe += warenkorb[i].getBruttopreis(i);
i++;
}
return summe;
Für den Gesamtzusammenhang stelle ich noch den kompletten Code hier rein.
Java:
public class Artikel extends Warenkorb
{
private String Artikelnummer;
private String Artikelbeschreibung;
private double Nettopreis;
private double Steuersatz;
public Artikel (String n, String b, double p, double s)
{
Artikelnummer = n;
Artikelbeschreibung = b;
Nettopreis = p;
Steuersatz = s; //Eingabe z.B. 0,19
}
public void Artikelausgeben()
{
System.out.println ("[ArtNr.] " + Artikelnummer + "; " + Artikelbeschreibung + "; Preis: " + Nettopreis + "; Steursatz: " + Steuersatz);
}
public void setArtikelnummer(String Artikelnummer)
{
this.Artikelnummer = Artikelnummer;
}
public void setArtikelbeschreibung(String Artikelbeschreibung)
{
this.Artikelbeschreibung = Artikelbeschreibung;
}
public void setNettopreis(double Nettopreis)
{
this.Nettopreis = Nettopreis;
}
public void setSteuersatz(double Steuersatz)
{
this.Steuersatz = Steuersatz;
}
public String getArtikelnummer()
{
return Artikelnummer;
}
public String getArtikelbeschreibung()
{
return Artikelbeschreibung;
}
public double getNettopreis()
{
return Nettopreis;
}
public double getSteuersatz()
{
return Steuersatz;
}
}
Java:
public class Warenkorb
{
private int AnzahlArtikelinWarenkorb = 0;
public Artikel warenkorb[] = new Artikel[100];
public static void main(String[] args)
{
Artikel a1 = new Artikel ("12345", "Musik-CD", 14.95, 0.19);
Artikel a2 = new Artikel ("12346", "Video-DVD", 19.99, 0.19);
a1.Artikelausgeben();
a2.Artikelausgeben();
Warenkorb w1 = new Warenkorb();
Warenkorb w2 = new Warenkorb();
w1.setArtikelinWarenkorb(a1, 0);
w1.setArtikelinWarenkorb(a2, 1);
System.out.println(w1.getWarenkorbBruttoSumme());
System.out.println(w1.getWarenkorbNettoSumme());
System.out.println(w1.getAnzahlArtikelinWarenkorb());
}
public void setArtikelinWarenkorb(Artikel a, int i)
{
warenkorb[i] = a;
AnzahlArtikelinWarenkorb++;
}
private int findArtikel(String Artikelnummer)
{
int i = 0;
while (warenkorb[i] != null)
{
if (Artikelnummer == warenkorb[i].getArtikelnummer())
{
return i;
}
else
{
i++;
}
}
return i=200; //Unerreichbaren Wert setzen, damit klar ist das kein Wert gefunden wurde
}
public int getAnzahlArtikelinWarenkorb()
{
return AnzahlArtikelinWarenkorb;
}
public double getBruttopreis(int i)
{
double bruttopreis = 0;
{
bruttopreis += warenkorb[i].getNettopreis()*((this.warenkorb[i].getSteuersatz()+1));
}
return bruttopreis;
}
public double getWarenkorbBruttoSumme()
{
int i = 0;
double summe = 0;
while (warenkorb[i] != null)
{
summe += warenkorb[i].getBruttopreis(i);
i++;
}
return summe;
}
public double getWarenkorbNettoSumme()
{
int i = 0;
double summe = 0;
while (warenkorb[i] != null)
{
summe += warenkorb[i].getNettopreis();
i++;
}
return summe;
}
}
Ich hoffe jemand nimmt sich die Zeit mir weiter zu helfen. Vielen Dank schon mal dafür!