Grundlegende Produktsuche implementiert

master
hummel 2024-10-01 22:15:45 +02:00
parent b46bc24a63
commit 63db8ec0d8
3 changed files with 48 additions and 8 deletions

View File

@ -5,8 +5,6 @@ import java.io.FileNotFoundException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Scanner; import java.util.Scanner;
import de.hs_mannheim.informatik.rhenus.domain.Produkt;
public class OnlineShop { public class OnlineShop {
private ArrayList<Produkt> lager; private ArrayList<Produkt> lager;
@ -36,6 +34,8 @@ public class OnlineShop {
} // while } // while
System.out.println(cnt + " Produkte geladen."); System.out.println(cnt + " Produkte geladen.");
sc.close();
} }
public Produkt[] findeProdukte(String suchbegriff) { public Produkt[] findeProdukte(String suchbegriff) {

View File

@ -36,4 +36,10 @@ public class Produkt {
return bestand; return bestand;
} }
@Override
public String toString() {
return "Produkt [name=" + name + ", beschreibung=" + beschreibung + ", preis=" + preis + ", gewicht=" + gewicht
+ ", bestand=" + bestand + "]";
}
} }

View File

@ -7,9 +7,7 @@ import de.hs_mannheim.informatik.rhenus.domain.OnlineShop;
import de.hs_mannheim.informatik.rhenus.domain.Produkt; import de.hs_mannheim.informatik.rhenus.domain.Produkt;
public class TUI { public class TUI {
private TUI tui;
private OnlineShop shop; private OnlineShop shop;
private Scanner kb; private Scanner kb;
public static void main(String[] args) { public static void main(String[] args) {
@ -28,7 +26,6 @@ public class TUI {
kb = new Scanner(System.in); kb = new Scanner(System.in);
shop = new OnlineShop(); shop = new OnlineShop();
this.willkommen(); this.willkommen();
} }
@ -38,16 +35,53 @@ public class TUI {
String eingabe = ""; String eingabe = "";
do { 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(); eingabe = kb.nextLine();
Produkt[] trefferliste = shop.findeProdukte(eingabe); 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")); } 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();
} }
} }