Hallo ihr Lieben,
ich habe gerade Probleme bei einer Methode:
Ein Kunde bekommt Mengenrabatt und Kundenrabatt
Die Methode soll den Gesamtrabatt ausgeben.
Für Mengenrabatt und Kundenrabatt sind jeweils eine Map angelegt:
für den Kundenrabatt eine HashMap und für den Mengenrabatt eine TreeMap.
der Code sieht momentan so aus:
Im Anhang ist die Tabelle gegeben.
Ich möchte dass für den Kunden "999" bei einer Kaufmenge von 150 Stück
ein GesamtRabatt von 0,4 angezeigt wird:
D.h. 0,1 (kundenrabatt) + 0,3 (mengenrabatt);
Die Methode berechnet aber 0,5 D.h. die Methode berechnet auch die 0,1 für
die 10 dazu in der zweiten for-Scheife. Wie kann ich der Methode sagen, dass er nur den Value vom größeren Key nimmt?
Ich habe es über floorKey() probiert, aber das macht auch nicht das was ich will...
Danke und VG
ich habe gerade Probleme bei einer Methode:
Ein Kunde bekommt Mengenrabatt und Kundenrabatt
Die Methode soll den Gesamtrabatt ausgeben.
Für Mengenrabatt und Kundenrabatt sind jeweils eine Map angelegt:
für den Kundenrabatt eine HashMap und für den Mengenrabatt eine TreeMap.
der Code sieht momentan so aus:
Java:
public float getRabatt(Artikel artikel, String kundenId, int menge)
float gesamtrabatt = 0.0F;
for(Entry<String, Float>k:kundenrabatt.entrySet()){
if(kundenId.equals(k.getKey()))
gesamtrabatt+=k.getValue();
}
for(Entry<Integer, Float> m: mengenrabatt.entrySet()){
if(menge> m.getKey())
gesamtrabatt+= e.getValue();
}
return gesamtrabatt;
}
Im Anhang ist die Tabelle gegeben.
Ich möchte dass für den Kunden "999" bei einer Kaufmenge von 150 Stück
ein GesamtRabatt von 0,4 angezeigt wird:
D.h. 0,1 (kundenrabatt) + 0,3 (mengenrabatt);
Die Methode berechnet aber 0,5 D.h. die Methode berechnet auch die 0,1 für
die 10 dazu in der zweiten for-Scheife. Wie kann ich der Methode sagen, dass er nur den Value vom größeren Key nimmt?
Ich habe es über floorKey() probiert, aber das macht auch nicht das was ich will...
Danke und VG