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

View File

@ -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 + "]";
}
}

View File

@ -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();
}
}