diff --git a/Programmierung2/src/OnlineShop/Main/Main.java b/Programmierung2/src/OnlineShop/Main/Main.java index d666cae..4577f66 100644 --- a/Programmierung2/src/OnlineShop/Main/Main.java +++ b/Programmierung2/src/OnlineShop/Main/Main.java @@ -1,13 +1,11 @@ package OnlineShop.Main; -import java.io.FileNotFoundException; - import OnlineShop.UI.TUI; import OnlineShop.domain.ExceptionsKlassen.*; public class Main { - public static void main(String[] args) throws FileNotFoundException, ProduktNichtGefundenException { + public static void main(String[] args) throws Exception { new TUI(); diff --git a/Programmierung2/src/OnlineShop/UI/TUI.java b/Programmierung2/src/OnlineShop/UI/TUI.java index d82abdb..f20c9d7 100644 --- a/Programmierung2/src/OnlineShop/UI/TUI.java +++ b/Programmierung2/src/OnlineShop/UI/TUI.java @@ -1,5 +1,4 @@ package OnlineShop.UI; -import java.io.FileNotFoundException; import java.util.Scanner; import OnlineShop.domain.*; import OnlineShop.domain.ExceptionsKlassen.*; @@ -12,12 +11,12 @@ public class TUI { private String optionAuswahl; - public TUI() throws FileNotFoundException, ProduktNichtGefundenException { + public TUI() throws Exception { this.kaufhalle = new Kaufhalle(); startProgramm(); } - private void startProgramm() throws FileNotFoundException, ProduktNichtGefundenException { + private void startProgramm() throws Exception { System.out.println("<< Willkommen in meinem Online Shop >>"); System.out.println(); if (kaufhalle.produkteLaden()) { @@ -30,7 +29,7 @@ public class TUI { shwoOptions(); } - private void shwoOptions() throws ProduktNichtGefundenException { + private void shwoOptions() throws Exception { boolean programmAktive = true; while (programmAktive) { System.out.println("Wählen Sie bitte ein Option aus: "); @@ -87,7 +86,7 @@ public class TUI { } - private void ProdukteAuwählenUI() throws ProduktNichtGefundenException { + private void ProdukteAuwählenUI() throws Exception { boolean einkaufAktive = true; String weiterEinkaufen; int menge; @@ -108,6 +107,8 @@ public class TUI { menge = eingabe.nextInt(); try { kaufhalle.addProduktZuWarenkorb(produktName,menge); + for (String p : kaufhalle.zeigeProdukte()) + System.out.println(p); } catch (ProduktNichtGefundenException e) { System.out.println(e.getMessage()); } diff --git a/Programmierung2/src/OnlineShop/domain/Bestellung.java b/Programmierung2/src/OnlineShop/domain/Bestellung.java index 6a4298b..f9b3e7f 100644 --- a/Programmierung2/src/OnlineShop/domain/Bestellung.java +++ b/Programmierung2/src/OnlineShop/domain/Bestellung.java @@ -38,8 +38,10 @@ public class Bestellung { } public double getVersandKosten() { + getGewicht(); versandKosten = 0; double gewichtInKg = gewicht / 1000.0; + System.out.println("GeWicht: " + gewichtInKg); if (gewichtInKg < 1) versandKosten += 5; @@ -70,5 +72,12 @@ public class Bestellung { public void setDate(LocalDate date) { this.date = date; } + + @Override + public String toString() { + return "kosten=" + kosten + ", gewicht=" + gewicht + ", versandKosten=" + versandKosten + + ", tempProdukt=" + tempProdukt + ", date=" + date; + } + } diff --git a/Programmierung2/src/OnlineShop/domain/JTest/JTest.java b/Programmierung2/src/OnlineShop/domain/JTest/JTest.java index 61cb046..2cd5bee 100644 --- a/Programmierung2/src/OnlineShop/domain/JTest/JTest.java +++ b/Programmierung2/src/OnlineShop/domain/JTest/JTest.java @@ -1,7 +1,7 @@ package OnlineShop.domain.JTest; import static org.junit.jupiter.api.Assertions.*; -import java.io.FileNotFoundException; + import org.junit.jupiter.api.*; import OnlineShop.domain.*; import OnlineShop.domain.ExceptionsKlassen.*; @@ -14,11 +14,11 @@ class JTest { } @Test - void test() throws FileNotFoundException, ProduktNichtGefundenException, LeereEingabeException, KeineProdukteImWarenkorb { + void test() throws Exception { kaufhalle.produkteLaden(); kaufhalle.addProduktZuWarenkorb("Hut",5); - kaufhalle.addProduktZuWarenkorb("Dosenwurst",10); + kaufhalle.addProduktZuWarenkorb("Dosenwurst",6); kaufhalle.addProduktZuWarenkorb("Hut",5); for (String p : kaufhalle.zeigeAlleProdukteImWarenkorb()) diff --git a/Programmierung2/src/OnlineShop/domain/Kaufhalle.java b/Programmierung2/src/OnlineShop/domain/Kaufhalle.java index 45d86aa..1e03093 100644 --- a/Programmierung2/src/OnlineShop/domain/Kaufhalle.java +++ b/Programmierung2/src/OnlineShop/domain/Kaufhalle.java @@ -20,7 +20,8 @@ public class Kaufhalle { } public boolean produkteLaden() throws FileNotFoundException { - Scanner sc = new Scanner(new File("/home/obai/git/Programmierung2/Programmierung2/src/OnlineShop/domain/produkte.csv")); + Scanner sc = new Scanner(new File( + "C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\OnlineShop\\domain\\produkte.csv")); int cnt = 0; while (sc.hasNextLine()) { @@ -43,16 +44,18 @@ public class Kaufhalle { return true; } - public boolean addProduktZuWarenkorb(String Produktname, int menge) throws ProduktNichtGefundenException { + public boolean addProduktZuWarenkorb(String Produktname, int menge) throws ProduktNichtGefundenException,Exception { Produkt neueProdukt = findeProduktImKaufhalle(Produktname); if (neueProdukt == null) throw new ProduktNichtGefundenException("Produkt ist nicht Verfügbar!"); + if (menge > neueProdukt.getBestand()) + throw new Exception ("Errore"); - for (int i = 0; i < menge; i++) + for (int i = 0; i < menge; i++) kunde.getWarenKorb().addProdukt(neueProdukt); - - + + neueProdukt.setBestand(menge); return true; } @@ -91,8 +94,9 @@ public class Kaufhalle { aktuellBestelung = new Bestellung(); aktuellBestelung.gesamtKosten(kunde.getWarenKorb().getProdukte()); - return "Produkts Kosten = " + aktuellBestelung.getKosten() + "\n" + "Versand Kosten = " + aktuellBestelung.getVersandKosten() - + "\n" + "GesamtKosten(Produkts Ksoten + Versand Kosten) = " + aktuellBestelung.getGesamtKosten(); + return "Produkts Kosten = " + aktuellBestelung.getKosten() + "\n" + "Versand Kosten = " + + aktuellBestelung.getVersandKosten() + "\n" + "GesamtKosten(Produkts Ksoten + Versand Kosten) = " + + aktuellBestelung.getGesamtKosten(); } @@ -106,9 +110,10 @@ public class Kaufhalle { } public boolean getBetrag(double betrag) { + System.out.println(aktuellBestelung.getGesamtKosten()); return betrag == aktuellBestelung.getGesamtKosten(); } - + public void speichereBestellung() { aktuellBestelung.setDate(LocalDate.now()); Bestellungen.add(aktuellBestelung); diff --git a/Programmierung2/src/OnlineShop/domain/Warenkorb.java b/Programmierung2/src/OnlineShop/domain/Warenkorb.java index 42e057f..c299c8d 100644 --- a/Programmierung2/src/OnlineShop/domain/Warenkorb.java +++ b/Programmierung2/src/OnlineShop/domain/Warenkorb.java @@ -12,7 +12,7 @@ public class Warenkorb { produkte = new ArrayList<>(); } - public boolean addProdukt(Produkt neueProdukt) { + public boolean addProdukt(Produkt neueProdukt) { produkte.add(neueProdukt); anzahlProdkute++; return true; @@ -22,12 +22,12 @@ public class Warenkorb { Produkt produktZuLoeschen = findeProduktImWarenkorb(name); if (produktZuLoeschen == null) return false; - + produkte.remove(produktZuLoeschen); - anzahlProdkute--; + anzahlProdkute--; return true; } - + public Produkt findeProduktImWarenkorb(String name) { for (Produkt p : produkte) @@ -36,7 +36,7 @@ public class Warenkorb { return null; } - + public ArrayList zeigeProdukteImWarenKorb() throws KeineProdukteImWarenkorb { if (produkte.size() == 0) throw new KeineProdukteImWarenkorb("Momentan haben Sie Keine Produkte in Ihrem Warenkorb"); @@ -71,12 +71,9 @@ public class Warenkorb { public int getAnzahlProdkute() { return anzahlProdkute; } - - - public ArrayList getProdukte(){ + public ArrayList getProdukte() { return produkte; } - - + } diff --git a/Programmierung2/src/oop/Reflection.pdf b/Programmierung2/src/oop/Reflection.pdf new file mode 100644 index 0000000..b226ddf Binary files /dev/null and b/Programmierung2/src/oop/Reflection.pdf differ