From f2436e6ed7e241943a29dd82d1d27fa00f15a62b Mon Sep 17 00:00:00 2001 From: "igor.lewandowski" <3029957@stud.th-mannheim.de> Date: Sun, 14 Dec 2025 13:28:22 +0100 Subject: [PATCH] =?UTF-8?q?Berrechnung=20der=20Versankosten=20und=20der=20?= =?UTF-8?q?dazugeh=C3=B6rigen=20MwSt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kleinere Optimierungen im Code --- src/Bestellung.java | 42 ++++++++++-------------------- src/OnlineShop.java | 31 ++++++++++++---------- src/Warenkorb.java | 63 +++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 89 insertions(+), 47 deletions(-) diff --git a/src/Bestellung.java b/src/Bestellung.java index dde3e9d..fb48d84 100644 --- a/src/Bestellung.java +++ b/src/Bestellung.java @@ -3,47 +3,31 @@ import java.util.ArrayList; public class Bestellung { String name; String adresse; -ArrayList preis; -ArrayList mwSteuer; -ArrayList gewicht; +double versandkosten; +double anteil7; +double anteil19; +double gesamtPreis; public Bestellung() { } - public Bestellung(String name, String adresse, ArrayList preis, ArrayList mwSteuer, ArrayList gewicht) { + public Bestellung(String name, String adresse, double versandkosten, double anteil7, double anteil19, double gesamtPreis) { this.name = name; this.adresse = adresse; - this.preis = preis; - this.mwSteuer = mwSteuer; - this.gewicht = gewicht; + this.versandkosten = versandkosten; + this.anteil7 = anteil7; + this.anteil19 = anteil19; + this.gesamtPreis = gesamtPreis; } public void bestellbestätigung(){ System.out.println("Bestellungbestätigung: \n" + name); + System.out.println("Der Gesamt Preis ihrer Bestellung berträgt " + (gesamtPreis-versandkosten) + "€, davon " + versandkosten +"€ Versandkosten"); + System.out.println(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€) \n"); System.out.println("Ihre Bestellung wurde erflogreich aufgenommen und wird an " + adresse + " geliefert."); System.out.println("Die Bestellung wird in 5-7 Werktagen bei Ihnen eintreten. \nVielen Dank für Ihre Bestellung!"); - } - - public double bruttoPreisBerechnung() { - double versandkosten = 0; - double gesamtGewicht = 0; - for (int i = 0; i < gewicht.size(); i++) { - gesamtGewicht += gewicht.get(i); - } - if (gesamtGewicht >= 0.1) { - versandkosten = 3.95; - } else if (gesamtGewicht >= 1) { - versandkosten = 4.95; - } else if (gesamtGewicht >= 5) { - versandkosten = 5.95; - } else { - versandkosten = 19.95; - } - double summeProdukte = 0; - for (int i = 0; i < preis.size(); i++) { - summeProdukte += preis.get(i); - } - double bruttoPreise = (summeProdukte + versandkosten) * } + + } diff --git a/src/OnlineShop.java b/src/OnlineShop.java index 64f1f20..e22bbb1 100644 --- a/src/OnlineShop.java +++ b/src/OnlineShop.java @@ -54,7 +54,7 @@ public class OnlineShop { public void produkteInformationen() throws FileNotFoundException { String[] produkt = new String[lager.size()]; - System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand"); + System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand\n"); for (int i = 0; i < lager.size(); i++) { produkt[i] = lager.get(i).toString(); System.out.println(produkt[i]); @@ -74,9 +74,10 @@ public class OnlineShop { public void warenkorbAusgabe(){ System.out.println("Der aktuelle Warenkorb sieht so aus: "); - String[] MengeProduktPreis = warenkorb.ausgabe(); - for (int i = 0; i < MengeProduktPreis.length / 2; i++) { - System.out.print(MengeProduktPreis[i] + " Stück | " + MengeProduktPreis[i+MengeProduktPreis.length/3] + " | " + MengeProduktPreis[i+(MengeProduktPreis.length/3)*2] + " €"); + String[] MengeProdukt = warenkorb.ausgabe(); + double[] bruttopreis = warenkorb.bruttoPreisBerechnen(); + for (int i = 0; i < MengeProdukt.length / 2 - 1; i++) { + System.out.println(MengeProdukt[i] + " Stück | " + MengeProdukt[i+MengeProdukt.length/2 - 1] + " | " + (bruttopreis[i] * Integer.parseInt(MengeProdukt[i])) + "€"); } } @@ -96,7 +97,8 @@ public class OnlineShop { int warenkorbStelle = scanner.nextInt(); System.out.println("Bitte neue Menge angeben: "); int mengeNeu = scanner.nextInt(); - warenkorb.menge.set(warenkorbStelle, mengeNeu); + warenkorb.menge.set(warenkorbStelle-1, mengeNeu); + System.out.println(warenkorb.menge.get(warenkorbStelle-1)); } warenkorbAusgabe(); while(true) { @@ -124,13 +126,16 @@ public class OnlineShop { Bestellung bestellung = new Bestellung(); bestellung.name = name; bestellung.adresse = adresse; - for (Produkt i : warenkorb.produkte) { - bestellung.preis.add(i.getPreis()); - bestellung.mwSteuer.add(i.getMwSteuer()); - bestellung.gewicht.add(i.getGewicht()); - } - warenkorb.menge.clear(); //.clear() mit Hilfe von KI - warenkorb.produkte.clear(); - bestellung.bestellbestätigung(); + + double[] versandkostenUndAnteile = warenkorb.versandkostenBerechnen(); + bestellung.versandkosten = versandkostenUndAnteile[0]; + bestellung.anteil7 = versandkostenUndAnteile[1]; + bestellung.anteil19 = versandkostenUndAnteile[2]; + bestellung.gesamtPreis = versandkostenUndAnteile[0] + warenkorb.gesamtPreisBerechnen(); + + warenkorb.menge.clear(); //.clear() mit Hilfe von KI + warenkorb.produkte.clear(); + bestellung.bestellbestätigung(); } + } diff --git a/src/Warenkorb.java b/src/Warenkorb.java index 591ee91..42b2996 100644 --- a/src/Warenkorb.java +++ b/src/Warenkorb.java @@ -15,13 +15,66 @@ public class Warenkorb { } public String[] ausgabe() { - String[] MengeProduktPreis = new String[menge.size()*3]; + String[] MengeProdukt = new String[menge.size()*2]; for(int i=0;i= 0.1) { + versandkostenUndAnteile[0] = 3.95; + } else if (gesamtGewicht >= 1) { + versandkostenUndAnteile[0] = 4.95; + } else if (gesamtGewicht >= 5) { + versandkostenUndAnteile[0] = 5.95; + } else { + versandkostenUndAnteile[0] = 19.95; + } + anteil7 = versandkostenUndAnteile[0] * anteil7; + versandkostenUndAnteile[1] = anteil7 * 1.07; + anteil19 = versandkostenUndAnteile[0] * anteil19; + versandkostenUndAnteile[3] = anteil19 * 1.19; + + + return versandkostenUndAnteile; + + + + } + public double gesamtPreisBerechnen(){ + double[] bruttoPreise = bruttoPreisBerechnen(); + double gesamtPreis = 0; + for (double i : bruttoPreise) { + gesamtPreis += i; + } + return gesamtPreis; + } + }