From 4a67ef364f83ff714421545eb02fd65658b8a8e2 Mon Sep 17 00:00:00 2001 From: "igor.lewandowski" <3029957@stud.th-mannheim.de> Date: Sun, 14 Dec 2025 16:15:58 +0100 Subject: [PATCH] =?UTF-8?q?Fertigstellung=20des=20Codes=20(f=C3=BCrs=20ers?= =?UTF-8?q?te)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Bestellung.java | 6 ++--- src/OnlineShop.java | 61 ++++++++++++++++++++++++++++++++------------- src/ShopTUI.java | 9 +++++++ src/Warenkorb.java | 40 +++++++++-------------------- 4 files changed, 68 insertions(+), 48 deletions(-) diff --git a/src/Bestellung.java b/src/Bestellung.java index fb48d84..ca8a0c4 100644 --- a/src/Bestellung.java +++ b/src/Bestellung.java @@ -22,10 +22,10 @@ double 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("Der Gesamt Preis ihrer Bestellung berträgt " + (gesamtPreis) + "€, davon " + versandkosten +"€ Versandkosten"); + System.out.println(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€, Netto: " + (versandkosten-(anteil7 + 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!"); + System.out.println("Die Bestellung wird in 5-7 Werktagen bei Ihnen eintreffen. \nVielen Dank für Ihre Bestellung!"); } diff --git a/src/OnlineShop.java b/src/OnlineShop.java index e22bbb1..41852d1 100644 --- a/src/OnlineShop.java +++ b/src/OnlineShop.java @@ -45,10 +45,8 @@ public class OnlineShop { } public void produkteListe() throws FileNotFoundException { - Produkt[] produkt = new Produkt[lager.size()]; - for (int i = 1; i < lager.size(); i++) { - produkt[i] = lager.get(i); - System.out.println(i + ". " + produkt[i].getName()); + for (int i = 0; i < lager.size(); i++) { + System.out.println(i+1 + ". " + lager.get(i).getName()); } } @@ -65,19 +63,14 @@ public class OnlineShop { public void inWarenkorb(int produktNr, int menge){ warenkorb.produkte.add(lager.get(produktNr-1)); warenkorb.menge.add(menge); - double summe = menge * lager.get(produktNr-1).getPreis(); - warenkorb.produktePreis.add(summe); - - } public void warenkorbAusgabe(){ System.out.println("Der aktuelle Warenkorb sieht so aus: "); - 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])) + "€"); + for (int i = 0; i < lager.size(); i++) {; + System.out.println(warenkorb.menge.get(i) + " Stück | " + lager.get(i).getName() + " | " + (bruttopreis[i] * warenkorb.menge.get(i)) + "€"); } } @@ -85,26 +78,49 @@ public class OnlineShop { public void warenkorbÄnderungen(int auswahl){ Scanner scanner = new Scanner(System.in); if (auswahl == 1) { - System.out.println("Welches Produkt möchten Sie aus dem Warenkorb löschen? \nBitte die Stelle im Warenkorb angeben"); + System.out.println("Welches Produkt möchten Sie aus dem Warenkorb löschen? \nBitte die Stelle im Warenkorb angeben (0=Hauptmenü)\n"); int warenkorbStelle = scanner.nextInt(); + if (warenkorbStelle == 0) { + return; + } + while(true) { + if (warenkorbStelle > lager.size()) { + System.out.println("Ungültige Eingabe! "); + continue; + } + else {break;} + } warenkorb.menge.remove(warenkorbStelle-1); //".remove" mit Hilfe von KI warenkorb.produkte.remove(warenkorbStelle-1); - warenkorb.produktePreis.remove(warenkorbStelle-1); } else if (auswahl == 2) { - System.out.println("Von welchem Produkt möchten Sie die Menge verändern \nBitte die Stelle im Warenkorb angeben\n"); + System.out.println("Von welchem Produkt möchten Sie die Menge verändern \nBitte die Stelle im Warenkorb angeben (0=Hauptmenü)\n"); int warenkorbStelle = scanner.nextInt(); + if(warenkorbStelle == 0){ + return; + } + while(true) { + if (warenkorbStelle > lager.size()) { + System.out.println("Ungültige Eingabe! "); + continue; + } + else {break;} + } System.out.println("Bitte neue Menge angeben: "); int mengeNeu = scanner.nextInt(); + warenkorb.menge.set(warenkorbStelle-1, mengeNeu); System.out.println(warenkorb.menge.get(warenkorbStelle-1)); } + warenkorbAusgabe(); while(true) { System.out.println("\n \n Möchten Sie weitere Änderungen vornehmen?(1=Ja, 2=Nein): "); int auswahlNeu = scanner.nextInt(); if (auswahlNeu == 1) { + System.out.println("1=Produkt löschen, 2=Menge verändern"); + auswahl = scanner.nextInt(); warenkorbÄnderungen(auswahl); } else if (auswahlNeu == 2) { @@ -119,10 +135,16 @@ public class OnlineShop { } public void bestellungAbschließen(){ Scanner scanner = new Scanner(System.in); + System.out.println("Sind Sie sich sicher? (1=Fortfahren, 2=Hauptmenü)"); + int fortfahren = scanner.nextInt(); + if (fortfahren == 2) { + return; + } System.out.println("Bitte geben Sie Ihren Namen an (Vorname Nachname): "); - String name = scanner.next(); + scanner.nextLine(); + String name = scanner.nextLine(); System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)"); - String adresse = scanner.next(); + String adresse = scanner.nextLine(); Bestellung bestellung = new Bestellung(); bestellung.name = name; bestellung.adresse = adresse; @@ -131,7 +153,12 @@ public class OnlineShop { bestellung.versandkosten = versandkostenUndAnteile[0]; bestellung.anteil7 = versandkostenUndAnteile[1]; bestellung.anteil19 = versandkostenUndAnteile[2]; - bestellung.gesamtPreis = versandkostenUndAnteile[0] + warenkorb.gesamtPreisBerechnen(); + double[] bruttopreis = warenkorb.bruttoPreisBerechnen(); + double gesamtpreis = 0; + for (int i = 0; i menge = new ArrayList<>(); ArrayList produkte = new ArrayList<>(); - ArrayList produktePreis = new ArrayList<>(); public Warenkorb() { @@ -11,24 +10,14 @@ public class Warenkorb { public Warenkorb(ArrayList menge, ArrayList produkte) { this.menge = menge; this.produkte = produkte; - this.produktePreis = produktePreis; } - public String[] ausgabe() { - String[] MengeProdukt = new String[menge.size()*2]; - - for(int i=0;i= 0.1) { + if (gesamtGewicht <= 0.1) { versandkostenUndAnteile[0] = 3.95; - } else if (gesamtGewicht >= 1) { + } else if (gesamtGewicht <= 1) { versandkostenUndAnteile[0] = 4.95; - } else if (gesamtGewicht >= 5) { + } else if (gesamtGewicht <= 5) { versandkostenUndAnteile[0] = 5.95; } else { versandkostenUndAnteile[0] = 19.95; } anteil7 = versandkostenUndAnteile[0] * anteil7; - versandkostenUndAnteile[1] = anteil7 * 1.07; + versandkostenUndAnteile[1] = anteil7 - (anteil7 / 1.07); + versandkostenUndAnteile[1] = (int) (versandkostenUndAnteile[1] * 100) / 100.0; anteil19 = versandkostenUndAnteile[0] * anteil19; - versandkostenUndAnteile[3] = anteil19 * 1.19; + versandkostenUndAnteile[2] = anteil19 - (anteil19 / 1.19); + versandkostenUndAnteile[2] = (int) (versandkostenUndAnteile[2] * 100) / 100.0; return versandkostenUndAnteile; @@ -68,13 +60,5 @@ public class Warenkorb { } - public double gesamtPreisBerechnen(){ - double[] bruttoPreise = bruttoPreisBerechnen(); - double gesamtPreis = 0; - for (double i : bruttoPreise) { - gesamtPreis += i; - } - return gesamtPreis; - } }