CSV Datei der Produkte einlesen
shopTUI zeigt Produktangebot und Suchfunktion Trefferanzeige bei passenden Produkten, ansonsten Hinweis für keine Treffermain
parent
a249f83566
commit
882f08524e
|
|
@ -0,0 +1,5 @@
|
|||
package backend;
|
||||
|
||||
public class Bestellung {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package backend;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
import java.io.File;
|
||||
|
||||
|
||||
|
||||
public class OnlineShop {
|
||||
public ArrayList<Produkt> lager;
|
||||
|
||||
public OnlineShop() throws FileNotFoundException {
|
||||
lager = new ArrayList<Produkt>();
|
||||
|
||||
Scanner sc = new Scanner(new File("././resources/produkte.csv"));
|
||||
|
||||
if (sc.hasNextLine()) sc.nextLine();
|
||||
|
||||
while(sc.hasNextLine() ) {
|
||||
String zeile = sc.nextLine();
|
||||
String[] teile = zeile.split(",");
|
||||
|
||||
int id = Integer.parseInt(teile[0]);
|
||||
String name = teile[1];
|
||||
double gewicht = Double.parseDouble(teile[2]);
|
||||
double preis = Double.parseDouble(teile[3]);
|
||||
int mwst = Integer.parseInt(teile[4]);
|
||||
int bestand = Integer.parseInt(teile[5]);
|
||||
|
||||
Produkt p = new Produkt(id, name, gewicht, preis, mwst, bestand);
|
||||
|
||||
lager.add(p);
|
||||
|
||||
}
|
||||
|
||||
sc.close();
|
||||
}
|
||||
|
||||
public String[] produktListe() {
|
||||
String[] produkt = new String[lager.size()];
|
||||
for(int i = 0; i < lager.size(); i++) {
|
||||
produkt[i] = lager.get(i).toString();
|
||||
}
|
||||
|
||||
return produkt;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package backend;
|
||||
|
||||
public class Produkt {
|
||||
public int id;
|
||||
public String name;
|
||||
public double gewicht;
|
||||
public double preis;
|
||||
public int mwst;
|
||||
public int bestand;
|
||||
|
||||
public Produkt(int id, String name, double gewicht, double preis, int mwst, int bestand) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.gewicht = gewicht;
|
||||
this.preis = preis;
|
||||
this.mwst = mwst;
|
||||
this.bestand = bestand;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName(String neu) {
|
||||
this.name = neu;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return id + " | " + name + " | " + preis + "€";
|
||||
}
|
||||
|
||||
public boolean equals(Produkt o) {
|
||||
if (!(o instanceof Produkt))
|
||||
return false;
|
||||
|
||||
if (o == null)
|
||||
return false;
|
||||
|
||||
if (!this.name.equals(((Produkt)o).name)
|
||||
|| this.preis != ((Produkt)o).preis)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(name, preis);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Produkt other = (Produkt) obj;
|
||||
return Objects.equals(name, other.name)
|
||||
&& Double.doubleToLongBits(preis) == Double.doubleToLongBits(other.preis);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package backend;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Warenkorb {
|
||||
private ArrayList<Produkt> inhalt;
|
||||
|
||||
public Warenkorb() {
|
||||
inhalt = new ArrayList<Produkt>();
|
||||
}
|
||||
|
||||
public void produktHinzufügen(Produkt p) {
|
||||
inhalt.add(p);
|
||||
}
|
||||
|
||||
public double berechneGesamtpreis() {
|
||||
double preis = 0;
|
||||
for (Produkt p : inhalt)
|
||||
preis+= p.preis;
|
||||
return preis;
|
||||
}
|
||||
|
||||
public void anzeigen() {
|
||||
System.out.println("(。•◡•。) Hier ist Ihr aktueller Warenkorb: ");
|
||||
for (Produkt p : inhalt)
|
||||
System.out.println(p);
|
||||
System.out.println("Betrag: " + berechneGesamtpreis() + "€ ૮˶ᵔᵕᵔ˶ა");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
package backend;
|
||||
|
||||
public class WarenkorbPosition {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package tui;
|
||||
import backend.OnlineShop;
|
||||
import backend.Produkt;
|
||||
import java.util.Scanner;
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
|
||||
public class shopTUI {
|
||||
|
||||
private static OnlineShop shop;
|
||||
private static Scanner sc = new Scanner(System.in);
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
System.out.println("Willkommen bei Onami! („•֊•„)੭");
|
||||
|
||||
shop = new OnlineShop();
|
||||
|
||||
angebot();
|
||||
|
||||
suche();
|
||||
|
||||
System.out.println("Auf Wiedersehen! (づ˶•༝•˶)づ ");
|
||||
}
|
||||
|
||||
public static void hauptmenü() {
|
||||
// TODO: hier ein erstes Menü mit bspw.
|
||||
// Produktangebot
|
||||
// Produktsuche
|
||||
// Warenkorbanzeige
|
||||
// evtl. Bestellung (kann auch über Warenkorb realisiert werden)
|
||||
// Exit
|
||||
}
|
||||
|
||||
public static void angebot() {
|
||||
System.out.println("૮ ྀིᴗ͈.ᴗ͈ ྀིა Was wir Ihnen anbieten:");
|
||||
System.out.println();
|
||||
|
||||
String[] produkte = shop.produktListe();
|
||||
for (int i = 0; i < produkte.length; i++)
|
||||
System.out.println(produkte[i]);
|
||||
}
|
||||
|
||||
public static void suche() {
|
||||
System.out.println();
|
||||
System.out.println("(˶˃ᵕ˂˶) Was suchen Sie? ");
|
||||
String suchbegriff = sc.nextLine().toLowerCase();
|
||||
if (suchbegriff.length() == 0) return;
|
||||
|
||||
boolean gefunden = false;
|
||||
|
||||
for (int artnr = 0; artnr < shop.lager.size(); artnr++) {
|
||||
Produkt p = shop.lager.get(artnr);
|
||||
|
||||
for (int i = 0; i <= p.name.length() - suchbegriff.length(); i++) {
|
||||
if (p.name.substring(i, i + suchbegriff.length()).toLowerCase().equals(suchbegriff)) {
|
||||
if(!gefunden) {
|
||||
System.out.println();
|
||||
System.out.println();
|
||||
System.out.println("(˶ˆᗜˆ˵) Wir haben folgenden Treffer: ");
|
||||
}
|
||||
System.out.println(p);
|
||||
gefunden = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!gefunden) System.out.println("Leider keine Treffer (˃̣̣̥ᯅ˂̣̣̥)");
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue