+ Bestellfunktion

+ Warenkorb und WarenkorbPosition erweitert, damit Menge der Produkte
angezeigt wird
+ Kleinigkeiten verfeinert
main
eronahasani 2025-12-12 16:13:04 +01:00
parent e0281db2c0
commit 1ba04f5320
5 changed files with 94 additions and 24 deletions

View File

@ -3,3 +3,5 @@ package backend;
public class Bestellung {
}

View File

@ -25,6 +25,10 @@ public class Produkt {
this.name = neu;
}
public double getPreis() {
return preis;
}
public String toString() {
return id + " | " + name + " | " + preis + "€";
}

View File

@ -2,17 +2,36 @@ package backend;
import java.util.ArrayList;
public class Warenkorb {
private ArrayList<Produkt> inhalt;
public ArrayList<Produkt> inhalt;
private ArrayList<WarenkorbPosition> positionen;
public Warenkorb() {
inhalt = new ArrayList<Produkt>();
positionen = new ArrayList<>();
}
public void produktHinzufügen(Produkt p, int menge) {
for (int i = 0; i < menge; i++) {
inhalt.add(p);
}
}
boolean gefunden = false;
for (WarenkorbPosition wp : positionen) {
if (wp.getProdukt().getName().equals(p.getName())) {
wp.setMenge(wp.getMenge() + menge);
gefunden = true;
break;
}
}
if (!gefunden) {
positionen.add(new WarenkorbPosition(p, menge));
}
}
public ArrayList<WarenkorbPosition> getPositionen() {
return positionen;
}
public double berechneGesamtpreis() {
double preis = 0;
@ -21,23 +40,12 @@ public class Warenkorb {
return preis;
}
public void anzeigen() {
if (inhalt.size() == 0) {
System.out.println();
System.out.println();
System.out.println("Ihr Warenkorb ist leer (˶ᵕ˶)⸝♡");
System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و");
System.out.println();
System.out.println();
System.out.println();
} else {
System.out.println();
System.out.println();
System.out.println("(。•◡•。) Hier ist Ihr aktueller Warenkorb: ");
for (Produkt p : inhalt) {
System.out.println(p);
System.out.println("Ihre Summe beträgt " + berechneGesamtpreis() + "€ ૮˶ᵔᵕᵔ˶ა");
}
public void bestellungSicht() {
for (WarenkorbPosition wp : positionen) {
System.out.println(wp.getMenge() + "x " + wp.getProdukt().getName() + " - " + wp.getProdukt().getPreis() + "€");
}
}
}

View File

@ -1,5 +1,25 @@
package backend;
public class WarenkorbPosition {
public Produkt produkt;
public int menge;
public WarenkorbPosition(Produkt produkt, int menge) {
this.produkt = produkt;
this.menge = menge;
}
public Produkt getProdukt() {
return produkt;
}
public int getMenge() {
return menge;
}
public void setMenge(int menge) {
this.menge = menge;
}
}

View File

@ -1,4 +1,5 @@
package tui;
import backend.WarenkorbPosition;
import backend.OnlineShop;
import backend.Produkt;
import backend.Warenkorb;
@ -20,15 +21,13 @@ public class shopTUI {
}
public static void hauptmenü() {
System.out.println();
System.out.println(" ⋆ ˚。⋆ Hauptmenü ⋆ ˚。⋆ ");
System.out.println("\n ⋆ ˚。⋆ Hauptmenü ⋆ ˚。⋆ ");
System.out.println(" ⏔⏔⏔⏔⏔⏔⏔ ꒰ ᧔ෆ᧓ ꒱ ⏔⏔⏔⏔⏔⏔⏔ ");
System.out.println(" Produktangebot ");
System.out.println(" Produktsuche ");
System.out.println(" Warenkorb ");
System.out.println(" Beenden ");
System.out.println(" ⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔");
System.out.println();
System.out.println(" ⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔ \n");
System.out.print("Bitte geben Sie eine der Optionen an: ");
String eingabe = sc.nextLine().toLowerCase();
@ -38,7 +37,7 @@ public class shopTUI {
} else if (eingabe.equals("produktsuche")) {
suche();
} else if (eingabe.equals("warenkorb")) {
warenkorb.anzeigen();
warenkorbAnzeigen();
} else if (eingabe.equals("beenden")) {
System.out.println("\n\n\n | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ");
System.out.println(" Auf Wiedersehen! ");
@ -137,4 +136,41 @@ public class shopTUI {
hauptmenü();
}
}
public static void warenkorbAnzeigen() {
if (warenkorb.getPositionen().size() == 0) {
System.out.println("\n\nIhr Warenkorb ist leer (˶ᵕ˶)⸝♡");
System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و \n\n\n");
hauptmenü();
} else {
System.out.println("\n\n(。•◡•。) Hier ist Ihr aktueller Warenkorb: ");
for (WarenkorbPosition wp : warenkorb.getPositionen()) {
System.out.println(wp.getMenge() + "x | " + wp.getProdukt().getName() + " | " + wp.getProdukt().getPreis() + "€");
}
System.out.printf("Ihre Summe beträgt %.1f€ ૮˶ᵔᵕᵔ˶ა%n", warenkorb.berechneGesamtpreis());
System.out.println("\n\n\nMöchten Sie bestellen oder zurück zum Hauptmenü?: ");
String eingabe = sc.nextLine().toLowerCase();
if (eingabe.equals("hauptmenü")) {
hauptmenü();
} else if (eingabe.equals("bestellen")) {
System.out.print("Bitte geben Sie Ihren vollständigen Namen ein: ");
String name = sc.nextLine();
System.out.print("\nBitte geben Sie Ihre Lieferadresse ein: ");
String adresse = sc.nextLine();
System.out.println("\n\n\n\n\n(\\ (\\");
System.out.println("(„• ֊ •„) Danke schön für Ihre Bestellung!");
System.out.println("━O━O━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
System.out.println("Name: ");
System.out.println(name);
System.out.println("Adresse: ");
System.out.println(adresse);
System.out.println("Artikel:" );
warenkorb.bestellungSicht();
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
}
}
}
}