diff --git a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/OnlineShop.java b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/OnlineShop.java index 478027b..2e7b5bd 100644 --- a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/OnlineShop.java +++ b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/OnlineShop.java @@ -5,8 +5,6 @@ import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; -import de.hs_mannheim.informatik.rhenus.domain.Produkt; - public class OnlineShop { private ArrayList lager; @@ -36,6 +34,8 @@ public class OnlineShop { } // while System.out.println(cnt + " Produkte geladen."); + + sc.close(); } public Produkt[] findeProdukte(String suchbegriff) { diff --git a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/Produkt.java b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/Produkt.java index b97d147..da70220 100644 --- a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/Produkt.java +++ b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/domain/Produkt.java @@ -36,4 +36,10 @@ public class Produkt { return bestand; } + @Override + public String toString() { + return "Produkt [name=" + name + ", beschreibung=" + beschreibung + ", preis=" + preis + ", gewicht=" + gewicht + + ", bestand=" + bestand + "]"; + } + } \ No newline at end of file diff --git a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/tui/TUI.java b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/tui/TUI.java index 9ec920a..b508032 100644 --- a/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/tui/TUI.java +++ b/OnlineShop2024/src/de/hs_mannheim/informatik/rhenus/tui/TUI.java @@ -7,9 +7,7 @@ import de.hs_mannheim.informatik.rhenus.domain.OnlineShop; import de.hs_mannheim.informatik.rhenus.domain.Produkt; public class TUI { - private TUI tui; private OnlineShop shop; - private Scanner kb; public static void main(String[] args) { @@ -28,7 +26,6 @@ public class TUI { kb = new Scanner(System.in); shop = new OnlineShop(); - this.willkommen(); } @@ -38,16 +35,53 @@ public class TUI { String eingabe = ""; do { - System.out.print("Produktsuche ('alle' für eine Übersicht; 'exit' für Beenden): "); + System.out.println("Produktsuche ('alle' für eine Übersicht; 'exit' für Beenden). "); + System.out.print("> "); eingabe = kb.nextLine(); Produkt[] trefferliste = shop.findeProdukte(eingabe); + + if (trefferliste.length == 0) + System.out.println("Keine Treffer für: " + eingabe); + else + trefferlisteAusgeben(trefferliste); + + System.out.println("0 = zurück zur Suche; Zahl des Produkt für Details."); + System.out.print("> "); + eingabe = kb.nextLine(); + + try { + int zahl = Integer.parseInt(eingabe); + + if (zahl > 0 && zahl < trefferliste.length) + produktDetailsAnzeigen(trefferliste[zahl-1]); + } catch(NumberFormatException nfe) { + System.err.println("Inkorrekte Eingabe!"); + } } while(!eingabe.toLowerCase().equals("exit")); } - private void trefferliste(Produkt[] trefferliste) { + private void trefferlisteAusgeben(Produkt[] trefferliste) { + for (int i = 0; i < trefferliste.length; i++) + System.out.printf("%2d) %s %5.2f Euro%n", i+1, trefferliste[i].getName(), trefferliste[i].getPreis()); + System.out.println(); } - + + private void produktDetailsAnzeigen(Produkt p) { + System.out.printf("%s für nur %5.2f%n", p.getName(), p.getPreis()); + System.out.println(p.getBeschreibung()); + System.out.println("Produktgewicht: " + p.getGewicht() + " g"); + + if (p.getBestand() > 10) + System.out.println("mehr als 10 Stück auf Lager"); + else if (p.getBestand() > 0) + System.out.println("nur noch " + p.getBestand() + " Stück auf Lager"); + else + System.out.println("leider gerade ausverkauft"); + + System.out.println(); + } + }