Hi,
ich mal wieder mit einer Aufgabe wo ich einfach nicht weiter komme. Ich soll bei dieser Aufgabe einen Einkauf simulieren mit Ein und Ausgaben usw. Wir dürfen keine ArrayList, standart Suchalgorithmen oder so was wie eine HashMap benutzen. Bisher ist alles richtig aber in der letzten Aufgabe sollen wir ein Rabattsystem einbauen. Wenn 6 mal der gleiche Artikel im Einkaufswagen ist, bekommt der Kunde eins kostenlos.
Wichtig dabei ist, dass der Kunde zum Beispiel erst 3 Kaffee kaufen kann dann 3 Milch und dann wieder 3 Kaffee. Natürlich möchte er dann den Rabatt für die 6 Kaffee haben. Das heißt ich muss durch meine Liste nach jedem einkauf laufen und überprüfen ob ein Artikel 6 mal vorhanden ist und so den Preis senken. Natürlich kann ein Kaffee auch 12 mal bestellt worden sein dann gibts 2 Gratis, deswegen das Modulo 6 im Code.
Das ganze habe ich immer als Objekt in einer anderen Methode an das Array übergeben.
Es hängt aber irgendwo habe ich einen Denkfehler wieder einmal.
Also der Rabatt wenn ich 6 Stück gleich einkaufe funktioniert dann ist eins kostenlos. Bei 12 zwei usw geht auch. Aber bei 11 sollte ja wenigstens 1 kostenlos sein und das funktioniert nicht. Ja wegen dem zähler, da dieser dann auf 11 ist und so nicht in das if springt weiß aber keine alternative.
Außerdem funktioniert auch nicht die spätere Eingabe also erst 3 mal Milch dann 1 mal Kaffee dann 3 mal wieder Milch. Außerdem sollte er mir den price für die Aktuelle Bestellung anzeigen und nicht insgesamt, aber so dass er immer das eine Produkt insgesammt betrifft damit man den Rabatt sehen kann. Das ganze ist noch nicht ganz fertig und ich muss noch paar verbesserungen vornehmen aber hab den restlichen Code mal im Anhang.
Oh Gott ich weiß nimmer weiter und.....
Bitte um Hilfe!
ich mal wieder mit einer Aufgabe wo ich einfach nicht weiter komme. Ich soll bei dieser Aufgabe einen Einkauf simulieren mit Ein und Ausgaben usw. Wir dürfen keine ArrayList, standart Suchalgorithmen oder so was wie eine HashMap benutzen. Bisher ist alles richtig aber in der letzten Aufgabe sollen wir ein Rabattsystem einbauen. Wenn 6 mal der gleiche Artikel im Einkaufswagen ist, bekommt der Kunde eins kostenlos.
Wichtig dabei ist, dass der Kunde zum Beispiel erst 3 Kaffee kaufen kann dann 3 Milch und dann wieder 3 Kaffee. Natürlich möchte er dann den Rabatt für die 6 Kaffee haben. Das heißt ich muss durch meine Liste nach jedem einkauf laufen und überprüfen ob ein Artikel 6 mal vorhanden ist und so den Preis senken. Natürlich kann ein Kaffee auch 12 mal bestellt worden sein dann gibts 2 Gratis, deswegen das Modulo 6 im Code.
Das ganze habe ich immer als Objekt in einer anderen Methode an das Array übergeben.
Es hängt aber irgendwo habe ich einen Denkfehler wieder einmal.
Java:
Purchase[] cartList = new Purchase[100];
int nächsterIndex = 0;
public void Price()
{
int zähler = 1;
double price = 0;
for(int i = 0; i < cartList.length; ++i)
{
if(cartList[i] != null)
{
if(cartList[i] == cartList[i + 1]) zähler++;
price += cartList[i].Price();
}
}
if(zähler%6 == 0)
{
double singelPrice = price / 6;
price -= singelPrice;
}
System.out.println("Kostet " + price);
}
Also der Rabatt wenn ich 6 Stück gleich einkaufe funktioniert dann ist eins kostenlos. Bei 12 zwei usw geht auch. Aber bei 11 sollte ja wenigstens 1 kostenlos sein und das funktioniert nicht. Ja wegen dem zähler, da dieser dann auf 11 ist und so nicht in das if springt weiß aber keine alternative.
Außerdem funktioniert auch nicht die spätere Eingabe also erst 3 mal Milch dann 1 mal Kaffee dann 3 mal wieder Milch. Außerdem sollte er mir den price für die Aktuelle Bestellung anzeigen und nicht insgesamt, aber so dass er immer das eine Produkt insgesammt betrifft damit man den Rabatt sehen kann. Das ganze ist noch nicht ganz fertig und ich muss noch paar verbesserungen vornehmen aber hab den restlichen Code mal im Anhang.
Oh Gott ich weiß nimmer weiter und.....
Bitte um Hilfe!