Jede UI-Interaktion, befindet sich jetzt in der UI-Klasse

main
igor.lewandowski 2025-12-28 14:04:41 +01:00
parent f3b27e37ce
commit 8935b59916
4 changed files with 129 additions and 109 deletions

View File

@ -15,7 +15,7 @@ public class ShopTUI {
}
public static void hauptmenu(){
System.out.println("Was möchten Sie tun? \n(1=Produktsuche, 2=Warenkorbanzeige, 3=backend.Bestellung abschließen, 0=Programm beenden): ");
System.out.println("Was möchten Sie tun? \n(1=Produktsuche, 2=Warenkorbanzeige, 3=Bestellung abschließen, 0=Programm beenden): ");
while (true) {
@ -28,21 +28,91 @@ public class ShopTUI {
break;
case 2:
shop.warenkorbAusgabe();
warenkorbAusgabe();
System.out.println("\n \n Möchten Sie gerne Änderungen vornehmen? \n 1=Produkte löschen, 2=Menge verändern, 3=Zurück zum Hauptmenü");
int warenkorbAuswahl = scanner.nextInt();
if (warenkorbAuswahl == 1 || warenkorbAuswahl == 2) {
shop.warenkorbÄnderungen(warenkorbAuswahl);
while (true) {
if (warenkorbAuswahl == 1) {
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) {
hauptmenu();
}
else if (warenkorbAuswahl == 3) {
while (true) {
if (warenkorbStelle > shop.lager.size()) {
System.out.println("Ungültige Eingabe! ");
continue;
} else {
break;
}
}
shop.warenkorbProduktEntfernen(warenkorbStelle);
} else if (warenkorbAuswahl == 2) {
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) {
hauptmenu();
}
while (true) {
if (warenkorbStelle > shop.lager.size()) {
System.out.println("Ungültige Eingabe! ");
continue;
} else {
break;
}
}
System.out.println("Bitte neue Menge angeben: ");
int mengeNeu = scanner.nextInt();
shop.warenkorbMengeÄndern(mengeNeu, warenkorbStelle);
} else if (warenkorbAuswahl == 3) {
hauptmenu();
}
warenkorbAusgabe();
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");
warenkorbAuswahl = scanner.nextInt();
continue;
}
else {
break;
}
}
break;
case 3:
shop.bestellungAbschließen();
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): ");
scanner.nextLine();
String name = scanner.nextLine();
System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)");
String adresse = scanner.nextLine();
String[] bestellungToArray = shop.bestellungAbschließen(name, adresse);
//bestellungToArray[0] & [1] nicht nötig, da Name und Adresse auch hier deklariert worden
double versandkosten = Double.parseDouble(bestellungToArray[2]);
double anteil7 = Double.parseDouble(bestellungToArray[3]);
double anteil19 = Double.parseDouble(bestellungToArray[4]);
double gesamtPreis = Double.parseDouble(bestellungToArray[5]);
System.out.println("Bestellungbestätigung: \n" + name);
System.out.println("Der Gesamt Preis ihrer Bestellung berträgt ");
if(gesamtPreis >= 500.0) {
gesamtPreis -= versandkosten;
System.out.print(gesamtPreis + "€, und das Versankostenfrei, da Ihre Bestellung über 500€ kostet\n");
}
else {
System.out.print(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 eintreffen. \nVielen Dank für Ihre Bestellung!");
System.out.println("Möchten Sie die Seite schließen?(1=Ja, 2=Nein)");
int eingabe = scanner.nextInt();
if (eingabe == 1) {
@ -58,6 +128,7 @@ public class ShopTUI {
System.exit(0);
break;
default: System.out.println("Falsche Eingabe!");
continue;
}
@ -70,12 +141,17 @@ public class ShopTUI {
public static void produktsuche() {
while (true) {
System.out.println("Geben Sie das gewünschte backend.Produkt mit der ProduktNr an");
System.out.println("Geben Sie das gewünschte Produkt mit der ProduktNr an");
System.out.println("(0 für Anzeige der Produktinformationen, " + (shop.lager.size() + 1) + " um zum Hauptmenü zurückzukehren)");
Scanner scanner = new Scanner(System.in);
int produktNr = scanner.nextInt();
if (produktNr == 0) {
shop.produkteInformationen();
String[] produkt = shop.produkteInformationen();
System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand\n");
for (String i : produkt){
System.out.println(i);
}
continue;
} else if (produktNr == shop.lager.size() + 1) {
break;
@ -83,23 +159,23 @@ public class ShopTUI {
int eingabe = 0;
int menge=0;
while (true) {
System.out.println("Wie viele möchten Sie in backend.Warenkorb legen?");
System.out.println("Wie viele möchten Sie in Warenkorb legen?");
scanner = new Scanner(System.in);
menge = scanner.nextInt();
if (shop.lager.get(produktNr - 1).getLagerbestand() < menge) {
System.out.println("Leider reicht unser Lagerbestand nicht aus. Wir haben nur " + shop.lager.get(produktNr - 1).getLagerbestand() + " Stück von diesem backend.Produkt.\nBitte geben Sie eine andere Menge an.\n");
System.out.println("Leider reicht unser Lagerbestand nicht aus. Wir haben nur " + shop.lager.get(produktNr - 1).getLagerbestand() + " Stück von diesem Produkt.\nBitte geben Sie eine andere Menge an.\n");
continue;
} else {
break;
}
}
System.out.println("(" + shop.lager.get(produktNr - 1).getName() + ") " + menge + " mal in den backend.Warenkorb legen? (1=Ja, 2=Nein)");
System.out.println("(" + shop.lager.get(produktNr - 1).getName() + ") " + menge + " mal in den Warenkorb legen? (1=Ja, 2=Nein)");
scanner = new Scanner(System.in);
while (true) {
eingabe = scanner.nextInt();
if (eingabe == 1) {
shop.inWarenkorb(produktNr, menge);
System.out.println("Möchten Sie ein weiteres backend.Produkt hinzufügen? (1=Ja, 2=Nein)");
System.out.println("Möchten Sie ein weiteres Produkt hinzufügen? (1=Ja, 2=Nein)");
scanner = new Scanner(System.in);
eingabe = scanner.nextInt();
if (eingabe == 1) {
@ -117,6 +193,13 @@ public class ShopTUI {
}
}
}
public static void warenkorbAusgabe() {
System.out.println("Der aktuelle Warenkorb sieht so aus: ");
String[] warenkorbZeilen = shop.warenkorbToArray();
for (String i : warenkorbZeilen){
System.out.println(i);
}
}
}

View File

@ -24,20 +24,17 @@ double gesamtPreis;
}
}
public void bestellbestätigung(){
System.out.println("Bestellungbestätigung: \n" + name);
System.out.println("Der Gesamt Preis ihrer backend.Bestellung berträgt ");
if(gesamtPreis >= 500.0) {
gesamtPreis -= versandkosten;
System.out.print(gesamtPreis + "€, und das Versankostenfrei, da Ihre backend.Bestellung über 500€ kostet\n");
}
else {
System.out.print(gesamtPreis + "€, davon " + versandkosten + " Versandkosten");
System.out.println(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€, Netto: " + (versandkosten - (anteil7 + anteil19)) + "€ \n");
}
System.out.println("Ihre backend.Bestellung wurde erflogreich aufgenommen und wird an " + adresse + " geliefert.");
System.out.println("Die backend.Bestellung wird in 5-7 Werktagen bei Ihnen eintreffen. \nVielen Dank für Ihre backend.Bestellung!");
public String[] bestellungToArray(){
String[] bestellInfos = new String[6];
bestellInfos[0] = name;
bestellInfos[1] = adresse;
bestellInfos[2] = String.valueOf(versandkosten);
bestellInfos[3] = String.valueOf(anteil7);
bestellInfos[4] = String.valueOf(anteil19);
bestellInfos[5] = String.valueOf(gesamtPreis);
return bestellInfos;
}

View File

@ -52,14 +52,12 @@ public class OnlineShop {
}
}
public void produkteInformationen() {
public String[] produkteInformationen() {
String[] produkt = new String[lager.size()];
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]);
}
System.out.println("");
return produkt;
}
public void inWarenkorb(int produktNr, int menge){
@ -67,87 +65,29 @@ public class OnlineShop {
warenkorb.menge.add(menge);
}
public void warenkorbAusgabe(){
public String[] warenkorbToArray(){
System.out.println("Der aktuelle backend.Warenkorb sieht so aus: ");
String[] warenkorbZeilen = new String[warenkorb.menge.size()];
double[] bruttopreis = warenkorb.bruttoPreisBerechnen();
for (int i = 0; i < warenkorb.menge.size(); i++) {;
System.out.println(warenkorb.menge.get(i) + " Stück | " + lager.get(i).getName() + " | " + (bruttopreis[i] * warenkorb.menge.get(i)) + "€");
for (int i = 0; i < warenkorb.menge.size(); i++){
warenkorbZeilen[i] = String.valueOf(warenkorb.menge.get(i) + " Stück | " + lager.get(i).getName() + " | " + (bruttopreis[i] * warenkorb.menge.get(i)) + "€");
}
return warenkorbZeilen;
}
public void warenkorbÄnderungen(int auswahl){
Scanner scanner = new Scanner(System.in);
if (auswahl == 1) {
System.out.println("Welches backend.Produkt möchten Sie aus dem backend.Warenkorb löschen? \nBitte die Stelle im backend.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;}
}
public void warenkorbProduktEntfernen(int warenkorbStelle){
warenkorb.menge.remove(warenkorbStelle-1); //".remove" mit Hilfe von KI
warenkorb.produkte.remove(warenkorbStelle-1);
}
} else if (auswahl == 2) {
System.out.println("Von welchem backend.Produkt möchten Sie die Menge verändern \nBitte die Stelle im backend.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();
public void warenkorbMengeÄndern(int mengeNeu, int warenkorbStelle){
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=backend.Produkt löschen, 2=Menge verändern");
auswahl = scanner.nextInt();
warenkorbÄnderungen(auswahl);
}
else if (auswahlNeu == 2) {
break;
}
else{
System.out.println("Falsche Eingabe!");
continue;
}
public String[] bestellungAbschließen(String name, String adresse){
}
}
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): ");
scanner.nextLine();
String name = scanner.nextLine();
System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)");
String adresse = scanner.nextLine();
Bestellung bestellung = new Bestellung();
bestellung.name = name;
bestellung.adresse = adresse;
@ -165,7 +105,8 @@ public class OnlineShop {
warenkorb.menge.clear(); //.clear() mit Hilfe von KI
warenkorb.produkte.clear();
bestellung.bestellbestätigung();
return bestellung.bestellungToArray();
}
}

View File

@ -35,7 +35,6 @@ public class Warenkorb {
zählermwSteuer7 += menge.get(i);}
}
System.out.println(zählermwSteuer7 + " " + zählermwSteuer19);
double anteil7 = (double) zählermwSteuer7 / (zählermwSteuer19 + zählermwSteuer7);
double anteil19 = (double) zählermwSteuer19 / (zählermwSteuer19 + zählermwSteuer7);
double[] versandkostenUndAnteile = new double[3];