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 {
new TUI();
}
}

View File

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

View File

@ -14,15 +14,16 @@ class JTest {
}
@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 {
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;
while (sc.hasNextLine()) {
@ -48,12 +48,12 @@ public class Kaufhalle {
if (neueProdukt == null)
throw new ProduktNichtGefundenException("Produkt ist nicht Verfügbar!");
double betrag = 0.0;
if (menge <= neueProdukt.getBestand())
betrag = neueProdukt.getPreis() * menge;
for (int i = 0; i < menge; i++)
kunde.getWarenKorb().addProdukt(neueProdukt);
kunde.getWarenKorb().addProdukt(neueProdukt);
return true;
}

View File

@ -35,11 +35,20 @@ public class Produkt {
public int getBestand() {
return bestand;
}
public void setBestand(int bestand) {
this.bestand -= bestand;
}
public String print() {
return String.format("name=%s, beschreibung=%s, preis=%.2f, gewicht=%d, bestand=%d",
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

@ -40,11 +40,30 @@ public class Warenkorb {
public ArrayList<String> zeigeProdukteImWarenKorb() throws KeineProdukteImWarenkorb {
if (produkte.size() == 0)
throw new KeineProdukteImWarenkorb("Momentan haben Sie Keine Produkte in Ihrem Warenkorb");
ArrayList<String> allProdukte = new ArrayList<>();
ArrayList<Produkt> merker = new ArrayList<>();
int anzahl = 0;
int index = 1;
for (Produkt p : produkte)
allProdukte.add(index++ + ".Produkt: " + p.print());
boolean istGespeichert = false;
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;
}

View File

@ -13,10 +13,9 @@ public class Enumeration {
* - Konstruktoren sind immer privat oder paketprivat (d.h. sie können nicht public sein)
* ,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 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 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);
}
}
}