From a2a2ab979b50ef769a79eb802373e2690674cb78 Mon Sep 17 00:00:00 2001 From: 3013379 <3013379@stud.hs-mannheim.de> Date: Mon, 21 Oct 2024 22:53:45 +0200 Subject: [PATCH] =?UTF-8?q?Warenkorb=20=C3=BCberarbeitet=20und=20vervollst?= =?UTF-8?q?=C3=A4ndigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Warenkorb.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/Warenkorb.java diff --git a/src/Warenkorb.java b/src/Warenkorb.java new file mode 100644 index 0000000..b41e383 --- /dev/null +++ b/src/Warenkorb.java @@ -0,0 +1,48 @@ +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; + } + finalesGewicht = Math.round(finalesGewicht * 100.0) / 100.0; + 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; + + } + finalerPreis = Math.round(finalerPreis * 100.0) / 100.0; + return finalerPreis; + } + + public double versandkostenBerechnen() { + double finalesGewicht = gewichtBerechnen(); + if (finalesGewicht < 1000) { + return 5.0; + } else if (finalesGewicht < 2500) { + return 8.0; + } else { + return 10; + } + } +} \ No newline at end of file