diff --git a/Online_Shop/src/de/hs_mannheim/informatik/domain/Warenkorb.java b/Online_Shop/src/de/hs_mannheim/informatik/domain/Warenkorb.java new file mode 100644 index 0000000..38a9693 --- /dev/null +++ b/Online_Shop/src/de/hs_mannheim/informatik/domain/Warenkorb.java @@ -0,0 +1,56 @@ +package de.hs_mannheim.informatik.domain; + + +import java.util.HashMap; + +public class Warenkorb { + private final HashMap produktanzahl = new HashMap<>(); + + public HashMap getProduktanzahl() { + return produktanzahl; + } + + public void produktHinzufuegen(Produkt produkt, int anzahl) { + produktanzahl.put(produkt, anzahl); + } + + public double gewichtBerechnen() { + double finalesGewicht = 0; + for (Produkt produkt : produktanzahl.keySet()) { + int anzahl = produktanzahl.get(produkt); + double gewicht = produkt.getGewicht() * anzahl; + finalesGewicht += gewicht; + } + return finalesGewicht; + } + + + public double preisBerechnen() { + double finalerPreis = 0; + for (Produkt produkt : produktanzahl.keySet()) { + int anzahl = produktanzahl.get(produkt); + double preis = produkt.getPreis() * anzahl; + finalerPreis += preis; + + } + return finalerPreis; + } + + public double versandkostenBerechnen() { + // Berechne das Gesamtgewicht des Warenkorbs + double gesamtgewicht = 0; + for (Produkt produkt : produktanzahl.keySet()) { + int anzahl = produktanzahl.get(produkt); + gesamtgewicht += produkt.getGewicht() * anzahl; // Gewicht * Anzahl der Produkte + } + + // Versandkosten basierend auf dem Gesamtgewicht + if (gesamtgewicht <= 1000) { // Bis zu 1kg + return 5.0; + } else if (gesamtgewicht <= 2500) { // Bis zu 2,5kg + return 8.0; + } else { // Über 2,5kg + return 10.0; + } + } +} \ No newline at end of file