Online Shop
parent
b64876a718
commit
ce0e81a680
|
@ -0,0 +1,13 @@
|
|||
package OnlineShop;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
import OnlineShop.UI.TUI;
|
||||
import OnlineShop.domain.ExceptionsKlassen.*;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException, ProduktNichtGefundenException, KundeNichtGefundenException {
|
||||
new TUI();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package OnlineShop.UI;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Scanner;
|
||||
|
||||
import OnlineShop.domain.Kaufhalle;
|
||||
import OnlineShop.domain.ExceptionsKlassen.KundeNichtGefundenException;
|
||||
import OnlineShop.domain.ExceptionsKlassen.ProduktNichtGefundenException;
|
||||
|
||||
|
||||
public class TUI {
|
||||
|
||||
private Kaufhalle kaufhalle;
|
||||
|
||||
public TUI() throws FileNotFoundException, ProduktNichtGefundenException, KundeNichtGefundenException {
|
||||
this.kaufhalle = new Kaufhalle();
|
||||
startProgramm();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void startProgramm() throws FileNotFoundException, ProduktNichtGefundenException, KundeNichtGefundenException {
|
||||
Scanner eingabe = new Scanner(System.in);
|
||||
String produktname;
|
||||
String anschrift;
|
||||
System.out.println();
|
||||
System.out.println("<< Willkommen in meinem Online Shop >>");
|
||||
System.out.println();
|
||||
if (kaufhalle.produkteLaden()) {
|
||||
System.out.println("Meine aktuelle Produkte: ");
|
||||
for (String p : kaufhalle.zeigeProdukte())
|
||||
System.out.println(p);
|
||||
}
|
||||
|
||||
|
||||
System.out.print(">");
|
||||
produktname = eingabe.nextLine();
|
||||
kaufhalle.addProduktZuWarenkorb(produktname);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package OnlineShop.domain.ExceptionsKlassen;
|
||||
|
||||
public class EmptyInputException extends Exception{
|
||||
|
||||
public EmptyInputException(String error){
|
||||
super(error);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package OnlineShop.domain.ExceptionsKlassen;
|
||||
|
||||
public class KundeNichtGefundenException extends Exception {
|
||||
|
||||
KundeNichtGefundenException(String error){
|
||||
super(error);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package OnlineShop.domain.ExceptionsKlassen;
|
||||
|
||||
public class ProduktNichtGefundenException extends Exception {
|
||||
|
||||
public ProduktNichtGefundenException(String error){
|
||||
super(error);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package OnlineShop.domain;
|
||||
|
||||
public class GesamtKostenBerechnen {
|
||||
|
||||
|
||||
public static double gesamtKosten (Produkt p) {
|
||||
double kosten = 0.0;
|
||||
|
||||
|
||||
return kosten;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package OnlineShop.domain;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.*;
|
||||
import OnlineShop.domain.ExceptionsKlassen.*;
|
||||
|
||||
public class Kaufhalle {
|
||||
private ArrayList<Produkt> produkte;
|
||||
private ArrayList<Kunde> kunden;
|
||||
|
||||
public Kaufhalle() throws FileNotFoundException {
|
||||
this.produkte = new ArrayList<>();
|
||||
this.kunden = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void addProduktZuWarenkorb(String Produktname) throws ProduktNichtGefundenException, KundeNichtGefundenException {
|
||||
Produkt neueProdukt = findeProduktImKaufhalle(Produktname);
|
||||
if (neueProdukt == null)
|
||||
throw new ProduktNichtGefundenException("Produkt ist nicht Verfügbar!");
|
||||
|
||||
|
||||
}
|
||||
|
||||
private Kunde findKunde(String kundeName) {
|
||||
for (Kunde kunde : kunden)
|
||||
if (kunde.getName().equalsIgnoreCase(kundeName))
|
||||
return kunde;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public boolean produkteLaden() throws FileNotFoundException {
|
||||
Scanner sc = new Scanner(
|
||||
new File("C:\\Users\\obaya\\git\\OnlineShop2024\\OnlineShop2024\\resources\\produkte.csv"));
|
||||
|
||||
int cnt = 0;
|
||||
while (sc.hasNextLine()) {
|
||||
String produkt = sc.nextLine();
|
||||
|
||||
if (produkt.startsWith("Name"))
|
||||
continue;
|
||||
|
||||
String[] spalten = produkt.split(";");
|
||||
spalten[2] = spalten[2].replaceAll(",", ".");
|
||||
spalten[3] = spalten[3].substring(0, spalten[3].indexOf(","));
|
||||
spalten[4] = spalten[4].substring(0, spalten[4].indexOf(","));
|
||||
|
||||
produkte.add(new Produkt(spalten[0], spalten[1], Float.parseFloat(spalten[2]), Integer.parseInt(spalten[3]),
|
||||
Integer.parseInt(spalten[4])));
|
||||
cnt++;
|
||||
}
|
||||
|
||||
sc.close();
|
||||
return true;
|
||||
}
|
||||
|
||||
public ArrayList<String> zeigeProdukte() {
|
||||
ArrayList<String> allProdukte = new ArrayList<>();
|
||||
int index = 1;
|
||||
for (Produkt p : produkte)
|
||||
allProdukte.add(index++ + ".Produkt: " + p.print());
|
||||
|
||||
return allProdukte;
|
||||
}
|
||||
|
||||
private Produkt findeProduktImKaufhalle(String name) {
|
||||
|
||||
for (Produkt p : produkte)
|
||||
if (p.getName().equalsIgnoreCase(name))
|
||||
return p;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package OnlineShop.domain;
|
||||
|
||||
public class Kunde {
|
||||
|
||||
private String name;
|
||||
private String anschrift;
|
||||
private Warenkorb warenKorb;
|
||||
private double produktKosten;
|
||||
private static int UserID = 100;
|
||||
private int ID;
|
||||
|
||||
public Kunde(String name, String anschrift) {
|
||||
this.name = name;
|
||||
this.anschrift = anschrift;
|
||||
this.ID = UserID++;
|
||||
this.produktKosten = 0.0;
|
||||
this.warenKorb = new Warenkorb();
|
||||
}
|
||||
|
||||
public Kunde() {
|
||||
this(null,null);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getAnschrift() {
|
||||
return anschrift;
|
||||
}
|
||||
|
||||
public void setAnschrift(String anschrift) {
|
||||
this.anschrift = anschrift;
|
||||
}
|
||||
|
||||
public Warenkorb getWarenKorb() {
|
||||
return warenKorb;
|
||||
}
|
||||
|
||||
public int getID() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
public double getProduktKosten() {
|
||||
return produktKosten;
|
||||
}
|
||||
|
||||
public void setProduktKosten(double produktKosten) {
|
||||
this.produktKosten = produktKosten;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package OnlineShop.domain;
|
||||
|
||||
public class Produkt {
|
||||
private String name;
|
||||
private String beschreibung;
|
||||
private double preis;
|
||||
private int gewicht;
|
||||
private int bestand;
|
||||
|
||||
public Produkt(String name, String beschreibung, double preis, int gewicht, int bestand) {
|
||||
|
||||
this.name = name;
|
||||
this.beschreibung = beschreibung;
|
||||
this.preis = preis;
|
||||
this.gewicht = gewicht;
|
||||
this.bestand = bestand;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getBeschreibung() {
|
||||
return beschreibung;
|
||||
}
|
||||
|
||||
public double getPreis() {
|
||||
return preis;
|
||||
}
|
||||
|
||||
public int getGewicht() {
|
||||
return gewicht;
|
||||
}
|
||||
|
||||
public int getBestand() {
|
||||
return bestand;
|
||||
}
|
||||
|
||||
|
||||
public String print() {
|
||||
return "name=" + name + ", beschreibung=" + beschreibung + ", preis=" + preis + ", gewicht=" + gewicht
|
||||
+ ", bestand=" + bestand;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package OnlineShop.domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Warenkorb {
|
||||
private ArrayList<Produkt> produkte;
|
||||
private int anzahlProdkute;
|
||||
|
||||
Warenkorb() {
|
||||
produkte = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean addProdukt(Produkt neueProdukt) {
|
||||
|
||||
produkte.add(neueProdukt);
|
||||
anzahlProdkute++;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean loescheprodukt(String name) {
|
||||
Produkt produktZuLoeschen = findeProduktImWarenkorb(name);
|
||||
if (produktZuLoeschen == null)
|
||||
return false;
|
||||
|
||||
anzahlProdkute--;
|
||||
return true;
|
||||
}
|
||||
|
||||
private Produkt findeProduktImWarenkorb(String name) {
|
||||
|
||||
for (Produkt p : produkte)
|
||||
if (p.getName().equalsIgnoreCase(name))
|
||||
return p;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<String> zeigeProdukteImWarenKorb() {
|
||||
ArrayList<String> allProdukte = new ArrayList<>();
|
||||
for (Produkt p : produkte)
|
||||
allProdukte.add(anzahlProdkute + ".Produkt: " + p.print() + "\n");
|
||||
|
||||
return allProdukte;
|
||||
}
|
||||
|
||||
public int getAnzahlProdkute() {
|
||||
return anzahlProdkute;
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue