Online shop

master
obai 2024-10-21 19:50:01 +02:00
parent 12aa078f00
commit 555f8a0261
8 changed files with 97 additions and 18 deletions

View File

@ -9,5 +9,7 @@ public class Main {
public static void main(String[] args) throws FileNotFoundException, ProduktNichtGefundenException { public static void main(String[] args) throws FileNotFoundException, ProduktNichtGefundenException {
new TUI(); new TUI();
} }
} }

View File

@ -104,7 +104,7 @@ public class TUI {
System.out.print("Name der Produkt: > "); System.out.print("Name der Produkt: > ");
String produktName = eingabe.nextLine(); String produktName = eingabe.nextLine();
System.out.println("Menge > "); System.out.print("Menge > ");
menge = eingabe.nextInt(); menge = eingabe.nextInt();
try { try {
kaufhalle.addProduktZuWarenkorb(produktName,menge); kaufhalle.addProduktZuWarenkorb(produktName,menge);

View File

@ -14,15 +14,16 @@ class JTest {
} }
@Test @Test
void test() throws FileNotFoundException, ProduktNichtGefundenException, LeereEingabeException { void test() throws FileNotFoundException, ProduktNichtGefundenException, LeereEingabeException, KeineProdukteImWarenkorb {
assertTrue(kaufhalle.produkteLaden()); kaufhalle.produkteLaden();
kaufhalle.addProduktZuWarenkorb("Hut",5);
kaufhalle.addProduktZuWarenkorb("Dosenwurst",10);
kaufhalle.addProduktZuWarenkorb("Hut",5);
for (String p : kaufhalle.zeigeAlleProdukteImWarenkorb())
System.out.println(p);
// assertTrue(kaufhalle.addProduktZuWarenkorb("Hut"));
// assertTrue(kaufhalle.addProduktZuWarenkorb("Gieskanne"));
assertEquals(2,kaufhalle.getAnzahlDerAusgewählteProdukte());
kaufhalle.getKundenDaten("Obai", "Mannheim");
kaufhalle.sendBestellung();
} }

View File

@ -20,7 +20,7 @@ public class Kaufhalle {
} }
public boolean produkteLaden() throws FileNotFoundException { public boolean produkteLaden() throws FileNotFoundException {
Scanner sc = new Scanner(new File("C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\OnlineShop\\domain\\produkte.csv")); Scanner sc = new Scanner(new File("/home/obai/git/Programmierung2/Programmierung2/src/OnlineShop/domain/produkte.csv"));
int cnt = 0; int cnt = 0;
while (sc.hasNextLine()) { while (sc.hasNextLine()) {
@ -48,12 +48,12 @@ public class Kaufhalle {
if (neueProdukt == null) if (neueProdukt == null)
throw new ProduktNichtGefundenException("Produkt ist nicht Verfügbar!"); throw new ProduktNichtGefundenException("Produkt ist nicht Verfügbar!");
double betrag = 0.0;
if (menge <= neueProdukt.getBestand()) for (int i = 0; i < menge; i++)
betrag = neueProdukt.getPreis() * menge; kunde.getWarenKorb().addProdukt(neueProdukt);
kunde.getWarenKorb().addProdukt(neueProdukt);
return true; return true;
} }

View File

@ -36,10 +36,19 @@ public class Produkt {
return bestand; return bestand;
} }
public void setBestand(int bestand) {
this.bestand -= bestand;
}
public String print() { public String print() {
return String.format("name=%s, beschreibung=%s, preis=%.2f, gewicht=%d, bestand=%d", return String.format("name=%s, beschreibung=%s, preis=%.2f, gewicht=%d, bestand=%d",
name, beschreibung, preis, gewicht, bestand); name, beschreibung, preis, gewicht, bestand);
} }
public String printImWarenkorb() {
return String.format("name=%s, beschreibung=%s, preis=%.2f, gewicht=%d",
name, beschreibung, preis, gewicht);
}
} }

View File

@ -42,9 +42,28 @@ public class Warenkorb {
throw new KeineProdukteImWarenkorb("Momentan haben Sie Keine Produkte in Ihrem Warenkorb"); throw new KeineProdukteImWarenkorb("Momentan haben Sie Keine Produkte in Ihrem Warenkorb");
ArrayList<String> allProdukte = new ArrayList<>(); ArrayList<String> allProdukte = new ArrayList<>();
ArrayList<Produkt> merker = new ArrayList<>();
int anzahl = 0;
int index = 1; int index = 1;
for (Produkt p : produkte) boolean istGespeichert = false;
allProdukte.add(index++ + ".Produkt: " + p.print()); for (int i = 0; i < produkte.size(); i++) {
anzahl = 0;
istGespeichert = false;
for (int j = 0; j < merker.size(); j++)
if (produkte.get(i).equals(merker.get(j))) {
istGespeichert = true;
break;
}
if (!istGespeichert) {
merker.add(produkte.get(i));
for (int h = 0; h < produkte.size(); h++)
if (produkte.get(i) == produkte.get(h))
anzahl++;
allProdukte.add(index++ + ".Produkt: " + produkte.get(i).print() + ". ((Anzahl: " + anzahl + "))");
}
}
return allProdukte; return allProdukte;
} }

View File

@ -13,10 +13,9 @@ public class Enumeration {
* - Konstruktoren sind immer privat oder paketprivat (d.h. sie können nicht public sein) * - Konstruktoren sind immer privat oder paketprivat (d.h. sie können nicht public sein)
* ,die Dienen zur Initialisierung der Felder. * ,die Dienen zur Initialisierung der Felder.
* - Enums können abstrakte Methoden enthalten, aber es sollen alle Kosntanten sie implementieren (siehe Wochentage class). * - Enums können abstrakte Methoden enthalten, aber es sollen alle Kosntanten sie implementieren (siehe Wochentage class).
* - Enums können Interfaces implementieren. * - Enums können Interfaces implementieren aber können keine Klassen erben
* - Enums können eigene Methoden und Überschreibungen von toString(), equals(), hashCode(), etc. enthalten. * - Enums können eigene Methoden und Überschreibungen von toString(), equals(), hashCode(), etc. enthalten.
* - Enums können keine anderen Klassen erweitern und auch nicht von anderen Klassen erben * - Enums können keine anderen Klassen erweitern und auch nicht von anderen Klassen erben
* - Enums können interface implementieren
* *
*/ */

View File

@ -0,0 +1,49 @@
package oop.Enumeration;
public class Main {
// وضعنا فيه 7 ثوابت Days إسمه enum هنا قمنا بتعريف
enum Days {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
enum Size {
// هنا قمنا بتعريف أسماء الثوابت و تحديد قيمهم
SMALL(100), MEDIUM(150), LARGE(200), XLARGE(250);
private int value;
private Size(int value) {
this.value = value;
}
}
public static void main(String[] args) {
// .values => Gibt alle Konstaten an
for (Days d : Days.values())
System.out.println(d);
// .ordinal => Gibt das Index der Konstante zurück
System.out.println(Days.MONDAY.ordinal());
// Hier speichere ich eine Kosntante
Days day = Days.THURSDAY;
System.out.println(day);
System.out.println();
System.out.println("Die Sizen: ");
for (Size s : Size.values()) {
System.out.println(s + " " + s.value);
}
}
}