Compare commits
No commits in common. "master" and "main" have entirely different histories.
|
@ -1,52 +1,50 @@
|
||||||
package de.hs_mannheim.informatik.domain;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
public class Bestellung {
|
||||||
|
public final static ArrayList<Bestellung> bestellungen = new ArrayList<>();
|
||||||
public class Bestellung {
|
|
||||||
public final static ArrayList<Bestellung> bestellungen = new ArrayList<>();
|
|
||||||
|
private Warenkorb warenkorb;
|
||||||
|
private String name;
|
||||||
private Warenkorb warenkorb;
|
private String anschrift;
|
||||||
private String name;
|
private long bestelldatum;
|
||||||
private String anschrift;
|
|
||||||
private long bestelldatum;
|
public Bestellung(Warenkorb warenkorb, long bestelldatum, String anschrift, String name) {
|
||||||
|
this.warenkorb = warenkorb;
|
||||||
public Bestellung(Warenkorb warenkorb, long bestelldatum, String anschrift, String name) {
|
this.bestelldatum = bestelldatum;
|
||||||
this.warenkorb = warenkorb;
|
this.anschrift = anschrift;
|
||||||
this.bestelldatum = bestelldatum;
|
this.name = name;
|
||||||
this.anschrift = anschrift;
|
}
|
||||||
this.name = name;
|
|
||||||
}
|
public Warenkorb getWarenkorb() {
|
||||||
|
return warenkorb;
|
||||||
public Warenkorb getWarenkorb() {
|
}
|
||||||
return warenkorb;
|
|
||||||
}
|
public long getBestelldatum() {
|
||||||
|
return bestelldatum;
|
||||||
public long getBestelldatum() {
|
}
|
||||||
return bestelldatum;
|
|
||||||
}
|
public String getAnschrift() {
|
||||||
|
return anschrift;
|
||||||
public String getAnschrift() {
|
}
|
||||||
return anschrift;
|
|
||||||
}
|
public String getName() {
|
||||||
|
return name;
|
||||||
public String getName() {
|
}
|
||||||
return name;
|
|
||||||
}
|
public void setWarenkorb(Warenkorb warenkorb) {
|
||||||
|
this.warenkorb = warenkorb;
|
||||||
public void setWarenkorb(Warenkorb warenkorb) {
|
}
|
||||||
this.warenkorb = warenkorb;
|
|
||||||
}
|
public void setBestelldatum(long bestelldatum) {
|
||||||
|
this.bestelldatum = bestelldatum;
|
||||||
public void setBestelldatum(long bestelldatum) {
|
}
|
||||||
this.bestelldatum = bestelldatum;
|
|
||||||
}
|
public void setAnschrift(String anschrift) {
|
||||||
|
this.anschrift = anschrift;
|
||||||
public void setAnschrift(String anschrift) {
|
}
|
||||||
this.anschrift = anschrift;
|
|
||||||
}
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
public void setName(String name) {
|
}
|
||||||
this.name = name;
|
}
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,79 +1,77 @@
|
||||||
package de.hs_mannheim.informatik.domain;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
public class Produkt {
|
||||||
|
public final static ArrayList<Produkt> produktListe = new ArrayList<>();
|
||||||
public class Produkt {
|
|
||||||
public final static ArrayList<Produkt> produktListe = new ArrayList<>();
|
static {
|
||||||
|
produktListe.add(new Produkt(17, 250.00, 3.99, "Gieskanne", "Premium Gärtner-Gieskanne"));
|
||||||
static {
|
produktListe.add(new Produkt(123, 120.00, 21.98, "Hut", "Perfekt für die Hutablage"));
|
||||||
produktListe.add(new Produkt(17, 250.00, 3.99, "Gieskanne", "Premium Gärtner-Gieskanne"));
|
produktListe.add(new Produkt(7, 200.00, 3.99, "Dosenwurst", "LWWRSCHT: das Pfälzer Original, nur kurz im Angebot"));
|
||||||
produktListe.add(new Produkt(123, 120.00, 21.98, "Hut", "Perfekt für die Hutablage"));
|
produktListe.add(new Produkt(23, 1300.00, 18.99, "Gartenschlauch", "10 m, dehnbar bis auf die doppelte Länge"));
|
||||||
produktListe.add(new Produkt(7, 200.00, 3.99, "Dosenwurst", "LWWRSCHT: das Pfälzer Original, nur kurz im Angebot"));
|
produktListe.add(new Produkt(99, 287.00, 2.99, "Schraubenset", "100 zufällig ausgewählte Schrauben"));
|
||||||
produktListe.add(new Produkt(23, 1300.00, 18.99, "Gartenschlauch", "10 m, dehnbar bis auf die doppelte Länge"));
|
produktListe.add(new Produkt(13, 900.00, 25.00, "Akkuschrauber", "Mit extra großem Drehmoment"));
|
||||||
produktListe.add(new Produkt(99, 287.00, 2.99, "Schraubenset", "100 zufällig ausgewählte Schrauben"));
|
}
|
||||||
produktListe.add(new Produkt(13, 900.00, 25.00, "Akkuschrauber", "Mit extra großem Drehmoment"));
|
|
||||||
}
|
private double preis;
|
||||||
|
private double gewicht;
|
||||||
private double preis;
|
private int bestand;
|
||||||
private double gewicht;
|
private String name;
|
||||||
private int bestand;
|
private String beschreibung;
|
||||||
private String name;
|
|
||||||
private String beschreibung;
|
public Produkt(int bestand, double gewicht, double preis, String name, String beschreibung) {
|
||||||
|
this.bestand = bestand;
|
||||||
public Produkt(int bestand, double gewicht, double preis, String name, String beschreibung) {
|
this.gewicht = gewicht;
|
||||||
this.bestand = bestand;
|
this.preis = preis;
|
||||||
this.gewicht = gewicht;
|
this.name = name;
|
||||||
this.preis = preis;
|
this.beschreibung = beschreibung;
|
||||||
this.name = name;
|
}
|
||||||
this.beschreibung = beschreibung;
|
|
||||||
}
|
public static Produkt produktfinden(String produktname) {
|
||||||
|
for (Produkt produkt : produktListe) {
|
||||||
public static Produkt produktFinden(String produktname) {
|
if (produkt.getName().equalsIgnoreCase(produktname)) {
|
||||||
for (Produkt produkt : produktListe) {
|
return produkt;
|
||||||
if (produkt.getName().equalsIgnoreCase(produktname)) {
|
}
|
||||||
return produkt;
|
}
|
||||||
}
|
return null;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
public String getBeschreibung() {
|
||||||
|
return beschreibung;
|
||||||
public String getBeschreibung() {
|
}
|
||||||
return beschreibung;
|
|
||||||
}
|
public void setBeschreibung(String beschreibung) {
|
||||||
|
this.beschreibung = beschreibung;
|
||||||
public void setBeschreibung(String beschreibung) {
|
}
|
||||||
this.beschreibung = beschreibung;
|
|
||||||
}
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
public void setName(String name) {
|
}
|
||||||
this.name = name;
|
|
||||||
}
|
public String getName() {
|
||||||
|
return name;
|
||||||
public String getName() {
|
}
|
||||||
return name;
|
|
||||||
}
|
public double getPreis() {
|
||||||
|
return preis;
|
||||||
public double getPreis() {
|
}
|
||||||
return preis;
|
|
||||||
}
|
public double getGewicht() {
|
||||||
|
return gewicht;
|
||||||
public double getGewicht() {
|
}
|
||||||
return gewicht;
|
|
||||||
}
|
public int getBestand() {
|
||||||
|
return bestand;
|
||||||
public int getBestand() {
|
}
|
||||||
return bestand;
|
|
||||||
}
|
public void setPreis(double preis) {
|
||||||
|
this.preis = preis;
|
||||||
public void setPreis(double preis) {
|
}
|
||||||
this.preis = preis;
|
|
||||||
}
|
public void setBestand(int bestand) {
|
||||||
|
this.bestand = bestand;
|
||||||
public void setBestand(int bestand) {
|
}
|
||||||
this.bestand = bestand;
|
|
||||||
}
|
public void setGewicht(double gewicht) {
|
||||||
|
this.gewicht = gewicht;
|
||||||
public void setGewicht(double gewicht) {
|
}
|
||||||
this.gewicht = gewicht;
|
}
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,143 @@
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class ShopVerwaltung {
|
||||||
|
private Warenkorb warenkorb = new Warenkorb();
|
||||||
|
private ArrayList<Bestellung> bestellungen = new ArrayList<>();
|
||||||
|
private Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
// 1. Produkte anzeigen
|
||||||
|
public void produkteAnzeigen() {
|
||||||
|
System.out.println("Verfügbare Produkte:");
|
||||||
|
for (Produkt produkt : Produkt.produktListe) {
|
||||||
|
System.out.println(produkt.getName() + " - " + produkt.getBeschreibung() + " - Preis: " + produkt.getPreis() + " € - Bestand: " + produkt.getBestand());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. Produkt zum Warenkorb hinzufügen
|
||||||
|
public void produktZumWarenkorbHinzufuegen() {
|
||||||
|
System.out.println("Geben Sie den Namen des Produkts ein:");
|
||||||
|
String produktName = scanner.next();
|
||||||
|
Produkt produkt = Produkt.produktfinden(produktName);
|
||||||
|
if (produkt != null) {
|
||||||
|
System.out.println("Geben Sie die Anzahl ein:");
|
||||||
|
int anzahl = scanner.nextInt();
|
||||||
|
if (anzahl < 1) {
|
||||||
|
System.out.println("Anzahl darf nicht kleiner als 1 sein");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (anzahl <= produkt.getBestand()) {
|
||||||
|
warenkorb.produktHinzufuegen(produkt, anzahl);
|
||||||
|
produkt.setBestand(produkt.getBestand() - anzahl); // Bestand verringern
|
||||||
|
System.out.println("Produkt wurde zum Warenkorb hinzugefügt.");
|
||||||
|
} else {
|
||||||
|
System.out.println("Nicht genug Bestand verfügbar.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println("Produkt nicht gefunden.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. Warenkorb überarbeiten (Anzahl ändern oder löschen)
|
||||||
|
public void warenkorbBearbeiten() {
|
||||||
|
System.out.println("Möchten Sie die Anzahl eines Produkts ändern oder ein Produkt löschen? (ändern/löschen)");
|
||||||
|
String aktion = scanner.next();
|
||||||
|
if (aktion.equalsIgnoreCase("ändern")) {
|
||||||
|
System.out.println("Welches Produkt möchten Sie ändern?");
|
||||||
|
String produktName = scanner.next();
|
||||||
|
Produkt produkt = Produkt.produktfinden(produktName);
|
||||||
|
if (produkt != null && warenkorb.getProduktanzahl().containsKey(produkt)) {
|
||||||
|
System.out.println("Geben Sie die neue Anzahl ein:");
|
||||||
|
int neueAnzahl = scanner.nextInt();
|
||||||
|
if (neueAnzahl < 1) {
|
||||||
|
System.out.println("Anzahl darf nicht kleiner als 1 sein");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (neueAnzahl <= produkt.getBestand()) {
|
||||||
|
produkt.setBestand(produkt.getBestand() + warenkorb.getProduktanzahl().get(produkt));
|
||||||
|
warenkorb.produktHinzufuegen(produkt, neueAnzahl);
|
||||||
|
produkt.setBestand(produkt.getBestand() - neueAnzahl);
|
||||||
|
System.out.println("Anzahl wurde aktualisiert.");
|
||||||
|
} else {
|
||||||
|
System.out.println("Nicht genug Bestand verfügbar.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println("Produkt nicht im Warenkorb.");
|
||||||
|
}
|
||||||
|
} else if (aktion.equalsIgnoreCase("löschen")) {
|
||||||
|
System.out.println("Welches Produkt möchten Sie löschen?");
|
||||||
|
String produktName = scanner.next();
|
||||||
|
Produkt produkt = Produkt.produktfinden(produktName);
|
||||||
|
if (produkt != null && warenkorb.getProduktanzahl().containsKey(produkt)) {
|
||||||
|
produkt.setBestand(produkt.getBestand() + warenkorb.getProduktanzahl().get(produkt));
|
||||||
|
warenkorb.getProduktanzahl().remove(produkt);
|
||||||
|
System.out.println("Produkt wurde aus dem Warenkorb entfernt.");
|
||||||
|
} else {
|
||||||
|
System.out.println("Produkt nicht im Warenkorb.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. Warenkorb anzeigen
|
||||||
|
public void warenkorbAnzeigen() {
|
||||||
|
|
||||||
|
if (warenkorb.getProduktanzahl().isEmpty() || warenkorb == null) {
|
||||||
|
System.out.println("Warenkorb ist leer.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
System.out.println("Warenkorb:");
|
||||||
|
for (Produkt produkt : warenkorb.getProduktanzahl().keySet()) {
|
||||||
|
int anzahl = warenkorb.getProduktanzahl().get(produkt);
|
||||||
|
System.out.println(produkt.getName() + " - Anzahl: " + anzahl + " - Preis pro Stück: " + produkt.getPreis() + " €");
|
||||||
|
}
|
||||||
|
System.out.println("Gesamtpreis: " + warenkorb.preisBerechnen() + " €");
|
||||||
|
System.out.println("Versandkosten: " + warenkorb.versandkostenBerechnen() + " €");
|
||||||
|
System.out.println("Gesamtkosten: " + (warenkorb.preisBerechnen() + warenkorb.versandkostenBerechnen()) + " €");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. Bestellung tätigen
|
||||||
|
public void bestellungTaetigen() {
|
||||||
|
if (warenkorb == null || warenkorb.getProduktanzahl().isEmpty()) {
|
||||||
|
System.out.println("Keine Bestellung möglich, der Warenkorb ist leer.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
scanner.nextLine();
|
||||||
|
System.out.println("Bitte geben Sie Ihren Namen ein:");
|
||||||
|
String name = scanner.nextLine();
|
||||||
|
System.out.println("Bitte geben Sie Ihre Anschrift ein:");
|
||||||
|
String anschrift = scanner.nextLine();
|
||||||
|
|
||||||
|
// Bestellung erstellen
|
||||||
|
Bestellung bestellung = new Bestellung(warenkorb, System.currentTimeMillis(), anschrift, name);
|
||||||
|
Bestellung.bestellungen.add(bestellung);
|
||||||
|
System.out.println("Bestellung erfolgreich abgeschlossen!");
|
||||||
|
|
||||||
|
// Warenkorb leeren
|
||||||
|
warenkorb = new Warenkorb();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 6. Alle Bestellungen anzeigen
|
||||||
|
public void alleBestellungenAnzeigen() {
|
||||||
|
if (Bestellung.bestellungen.isEmpty()) {
|
||||||
|
System.out.println("Es wurde noch keine Bestellung getätigt.");
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
System.out.println("Alle Bestellungen:");
|
||||||
|
for (Bestellung bestellung : Bestellung.bestellungen) {
|
||||||
|
System.out.println("Kunde: " + bestellung.getName() + " - Anschrift: " + bestellung.getAnschrift());
|
||||||
|
System.out.println("Bestelldatum: " + new SimpleDateFormat("dd.MM.yyyy hh:mm:ss").format(new Date(bestellung.getBestelldatum())));
|
||||||
|
System.out.println("Warenkorb:");
|
||||||
|
for (Produkt produkt : bestellung.getWarenkorb().getProduktanzahl().keySet()) {
|
||||||
|
int anzahl = bestellung.getWarenkorb().getProduktanzahl().get(produkt);
|
||||||
|
System.out.println(produkt.getName() + " - Anzahl: " + anzahl);
|
||||||
|
}
|
||||||
|
double preis = bestellung.getWarenkorb().preisBerechnen();
|
||||||
|
double versand = bestellung.getWarenkorb().versandkostenBerechnen();
|
||||||
|
System.out.println("Gesamtpreis: " + (preis + versand) + " € (inkl. Versandkosten von " + versand + " €)");
|
||||||
|
System.out.println("------------");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,49 +1,48 @@
|
||||||
package de.hs_mannheim.informatik.domain;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import java.util.HashMap;
|
public class Warenkorb {
|
||||||
|
private final HashMap<Produkt, Integer> produktanzahl = new HashMap<>();
|
||||||
public class Warenkorb {
|
|
||||||
private final HashMap<Produkt, Integer> produktanzahl = new HashMap<>();
|
public HashMap<Produkt, Integer> getProduktanzahl() {
|
||||||
|
return produktanzahl;
|
||||||
public HashMap<Produkt, Integer> getProduktanzahl() {
|
}
|
||||||
return produktanzahl;
|
|
||||||
}
|
public void produktHinzufuegen(Produkt produkt, int anzahl) {
|
||||||
|
produktanzahl.put(produkt, anzahl);
|
||||||
public void produktHinzufuegen(Produkt produkt, int anzahl) {
|
}
|
||||||
produktanzahl.put(produkt, anzahl);
|
|
||||||
}
|
public double gewichtBerechnen() {
|
||||||
|
double finalesGewicht = 0;
|
||||||
public double gewichtBerechnen() {
|
for (Produkt produkt : produktanzahl.keySet()) {
|
||||||
double finalesGewicht = 0;
|
int anzahl = produktanzahl.get(produkt);
|
||||||
for (Produkt produkt : produktanzahl.keySet()) {
|
double gewicht = produkt.getGewicht() * anzahl;
|
||||||
int anzahl = produktanzahl.get(produkt);
|
finalesGewicht += gewicht;
|
||||||
double gewicht = produkt.getGewicht() * anzahl;
|
}
|
||||||
finalesGewicht += gewicht;
|
return finalesGewicht;
|
||||||
}
|
}
|
||||||
return finalesGewicht;
|
|
||||||
}
|
|
||||||
|
public double preisBerechnen() {
|
||||||
|
double finalerPreis = 0;
|
||||||
public double preisBerechnen() {
|
for (Produkt produkt : produktanzahl.keySet()) {
|
||||||
double finalerPreis = 0;
|
int anzahl = produktanzahl.get(produkt);
|
||||||
for (Produkt produkt : produktanzahl.keySet()) {
|
double preis = produkt.getPreis() * anzahl;
|
||||||
int anzahl = produktanzahl.get(produkt);
|
finalerPreis += preis;
|
||||||
double preis = produkt.getPreis() * anzahl;
|
|
||||||
finalerPreis += preis;
|
}
|
||||||
|
return finalerPreis;
|
||||||
}
|
}
|
||||||
finalerPreis = Math.round(finalerPreis * 100.0) / 100.0;
|
|
||||||
return finalerPreis;
|
public double versandkostenBerechnen() {
|
||||||
}
|
double finalesGewicht = gewichtBerechnen();
|
||||||
|
if (finalesGewicht < 1.0) {
|
||||||
public double versandkostenBerechnen() {
|
return 5.0;
|
||||||
double finalesGewicht = gewichtBerechnen();
|
} else if (finalesGewicht < 2.5) {
|
||||||
if (finalesGewicht < 1000) {
|
return 8.0;
|
||||||
return 5.0;
|
} else {
|
||||||
} else if (finalesGewicht < 2500) {
|
return 10;
|
||||||
return 8.0;
|
}
|
||||||
} else {
|
}
|
||||||
return 10;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
ShopVerwaltung shop = new ShopVerwaltung();
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
System.out.println("Online Shop:");
|
||||||
|
System.out.println("1. Produkte anzeigen");
|
||||||
|
System.out.println("2. Produkt zum Warenkorb hinzufügen");
|
||||||
|
System.out.println("3. Warenkorb überarbeiten");
|
||||||
|
System.out.println("4. Warenkorb anzeigen");
|
||||||
|
System.out.println("5. Bestellung tätigen");
|
||||||
|
System.out.println("6. Alle Bestellungen anzeigen");
|
||||||
|
System.out.println("7. Programm beenden");
|
||||||
|
System.out.print("Auswahl tätigen: ");
|
||||||
|
|
||||||
|
int auswahl = 0;
|
||||||
|
try {
|
||||||
|
auswahl = scanner.nextInt();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Ungültige Eingabe, nur Zahlen als Eingabe möglich.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (auswahl) {
|
||||||
|
case 1:
|
||||||
|
shop.produkteAnzeigen();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
shop.produktZumWarenkorbHinzufuegen();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
shop.warenkorbBearbeiten();
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
shop.warenkorbAnzeigen();
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
shop.bestellungTaetigen();
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
shop.alleBestellungenAnzeigen();
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
System.out.println("Programm beendet.");
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
System.out.println("Ungültige Auswahl.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,122 +0,0 @@
|
||||||
package de.hs_mannheim.informatik.domain;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
public class ShopVerwaltung {
|
|
||||||
private Warenkorb warenkorb = new Warenkorb();
|
|
||||||
private ArrayList<Bestellung> bestellungen = new ArrayList<>();
|
|
||||||
|
|
||||||
// 1. Produkte anzeigen
|
|
||||||
public ArrayList<String> produkteAnzeigen() {
|
|
||||||
ArrayList<String> produktListe = new ArrayList<>();
|
|
||||||
for (Produkt produkt : Produkt.produktListe) {
|
|
||||||
produktListe.add(produkt.getName() + " - " + produkt.getBeschreibung() + " - Preis: " + produkt.getPreis() + " € - Bestand: " + produkt.getBestand());
|
|
||||||
}
|
|
||||||
return produktListe;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. Produkt zum Warenkorb hinzufügen
|
|
||||||
public String produktZumWarenkorbHinzufuegen(String produktName, int anzahl) {
|
|
||||||
Produkt produkt = Produkt.produktFinden(produktName);
|
|
||||||
if (produkt != null) {
|
|
||||||
if (anzahl < 1) {
|
|
||||||
return "Anzahl darf nicht kleiner als 1 sein";
|
|
||||||
}
|
|
||||||
if (anzahl <= produkt.getBestand()) {
|
|
||||||
warenkorb.produktHinzufuegen(produkt, anzahl);
|
|
||||||
produkt.setBestand(produkt.getBestand() - anzahl);
|
|
||||||
return "Produkt wurde zum Warenkorb hinzugefügt.";
|
|
||||||
} else {
|
|
||||||
return "Nicht genug Bestand verfügbar.";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return "Produkt nicht gefunden.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3. Warenkorb überarbeiten (Anzahl ändern oder löschen)
|
|
||||||
public String warenkorbBearbeiten(String aktion, String produktName, int neueAnzahl) {
|
|
||||||
Produkt produkt = Produkt.produktFinden(produktName);
|
|
||||||
if (produkt == null || !warenkorb.getProduktanzahl().containsKey(produkt)) {
|
|
||||||
return "Produkt nicht im Warenkorb.";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aktion.equalsIgnoreCase("ändern")) {
|
|
||||||
if (neueAnzahl < 1) {
|
|
||||||
return "Anzahl darf nicht kleiner als 1 sein";
|
|
||||||
}
|
|
||||||
if (neueAnzahl <= produkt.getBestand()) {
|
|
||||||
produkt.setBestand(produkt.getBestand() + warenkorb.getProduktanzahl().get(produkt));
|
|
||||||
warenkorb.produktHinzufuegen(produkt, neueAnzahl);
|
|
||||||
produkt.setBestand(produkt.getBestand() - neueAnzahl);
|
|
||||||
return "Anzahl wurde aktualisiert.";
|
|
||||||
} else {
|
|
||||||
return "Nicht genug Bestand verfügbar.";
|
|
||||||
}
|
|
||||||
} else if (aktion.equalsIgnoreCase("löschen")) {
|
|
||||||
produkt.setBestand(produkt.getBestand() + warenkorb.getProduktanzahl().get(produkt));
|
|
||||||
warenkorb.getProduktanzahl().remove(produkt);
|
|
||||||
return "Produkt wurde aus dem Warenkorb entfernt.";
|
|
||||||
}
|
|
||||||
return "Ungültige Aktion.";
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. Warenkorb anzeigen
|
|
||||||
public ArrayList<String> warenkorbAnzeigen() {
|
|
||||||
ArrayList<String> warenkorbListe = new ArrayList<>();
|
|
||||||
if (warenkorb.getProduktanzahl().isEmpty()) {
|
|
||||||
warenkorbListe.add("Warenkorb ist leer.");
|
|
||||||
return warenkorbListe;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Produkt produkt : warenkorb.getProduktanzahl().keySet()) {
|
|
||||||
int anzahl = warenkorb.getProduktanzahl().get(produkt);
|
|
||||||
warenkorbListe.add(produkt.getName() + " - Anzahl: " + anzahl + " - Preis pro Stück: " + produkt.getPreis() + " €");
|
|
||||||
}
|
|
||||||
warenkorbListe.add("Gesamtpreis: " + warenkorb.preisBerechnen() + " €");
|
|
||||||
warenkorbListe.add("Versandkosten: " + warenkorb.versandkostenBerechnen() + " €");
|
|
||||||
warenkorbListe.add("Gesamtkosten: " + (warenkorb.preisBerechnen() + warenkorb.versandkostenBerechnen()) + " €");
|
|
||||||
return warenkorbListe;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 5. Bestellung tätigen
|
|
||||||
public String bestellungTaetigen(String name, String anschrift) {
|
|
||||||
if (warenkorb.getProduktanzahl().isEmpty()) {
|
|
||||||
return "Keine Bestellung möglich, der Warenkorb ist leer.";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bestellung erstellen
|
|
||||||
Bestellung bestellung = new Bestellung(warenkorb, System.currentTimeMillis(), anschrift, name);
|
|
||||||
Bestellung.bestellungen.add(bestellung);
|
|
||||||
|
|
||||||
// Warenkorb leeren
|
|
||||||
warenkorb = new Warenkorb();
|
|
||||||
return "Bestellung erfolgreich abgeschlossen!";
|
|
||||||
}
|
|
||||||
|
|
||||||
// 6. Alle Bestellungen anzeigen
|
|
||||||
public ArrayList<String> alleBestellungenAnzeigen() {
|
|
||||||
ArrayList<String> bestellListe = new ArrayList<>();
|
|
||||||
if (Bestellung.bestellungen.isEmpty()) {
|
|
||||||
bestellListe.add("Es wurde noch keine Bestellung getätigt.");
|
|
||||||
return bestellListe;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Bestellung bestellung : Bestellung.bestellungen) {
|
|
||||||
bestellListe.add("Kunde: " + bestellung.getName() + " - Anschrift: " + bestellung.getAnschrift());
|
|
||||||
bestellListe.add("Bestelldatum: " + new SimpleDateFormat("dd.MM.yyyy hh:mm:ss").format(new Date(bestellung.getBestelldatum())));
|
|
||||||
bestellListe.add("Warenkorb:");
|
|
||||||
for (Produkt produkt : bestellung.getWarenkorb().getProduktanzahl().keySet()) {
|
|
||||||
int anzahl = bestellung.getWarenkorb().getProduktanzahl().get(produkt);
|
|
||||||
bestellListe.add(produkt.getName() + " - Anzahl: " + anzahl);
|
|
||||||
}
|
|
||||||
double preis = bestellung.getWarenkorb().preisBerechnen();
|
|
||||||
double versand = bestellung.getWarenkorb().versandkostenBerechnen();
|
|
||||||
bestellListe.add("Gesamtpreis: " + (preis + versand) + " € (inkl. Versandkosten von " + versand + " €)");
|
|
||||||
bestellListe.add("------------");
|
|
||||||
}
|
|
||||||
return bestellListe;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
package de.hs_mannheim.informatik.main;
|
|
||||||
|
|
||||||
import de.hs_mannheim.informatik.domain.ShopVerwaltung;
|
|
||||||
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
public class Main {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Scanner scanner = new Scanner(System.in);
|
|
||||||
ShopVerwaltung shop = new ShopVerwaltung();
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
System.out.println("Online Shop:");
|
|
||||||
System.out.println("1. Produkte anzeigen");
|
|
||||||
System.out.println("2. Produkt zum Warenkorb hinzufügen");
|
|
||||||
System.out.println("3. Warenkorb überarbeiten");
|
|
||||||
System.out.println("4. Warenkorb anzeigen");
|
|
||||||
System.out.println("5. Bestellung tätigen");
|
|
||||||
System.out.println("6. Alle Bestellungen anzeigen");
|
|
||||||
System.out.println("7. Programm beenden");
|
|
||||||
System.out.print("Auswahl tätigen: ");
|
|
||||||
|
|
||||||
int auswahl = 0;
|
|
||||||
try {
|
|
||||||
auswahl = scanner.nextInt();
|
|
||||||
scanner.nextLine(); // Clear buffer
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println("Ungültige Eingabe, nur Zahlen als Eingabe möglich.");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (auswahl) {
|
|
||||||
case 1:
|
|
||||||
for (String produkt : shop.produkteAnzeigen()) {
|
|
||||||
System.out.println(produkt);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
System.out.println("Geben Sie den Namen des Produkts ein:");
|
|
||||||
String produktName = scanner.nextLine();
|
|
||||||
System.out.println("Geben Sie die Anzahl ein:");
|
|
||||||
int anzahl = scanner.nextInt();
|
|
||||||
scanner.nextLine(); // Clear buffer
|
|
||||||
System.out.println(shop.produktZumWarenkorbHinzufuegen(produktName, anzahl));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
System.out.println("Möchten Sie die Anzahl eines Produkts ändern oder ein Produkt löschen? (ändern/löschen)");
|
|
||||||
String aktion = scanner.nextLine();
|
|
||||||
System.out.println("Welches Produkt möchten Sie ändern/löschen?");
|
|
||||||
produktName = scanner.nextLine();
|
|
||||||
int neueAnzahl = 0;
|
|
||||||
if (aktion.equalsIgnoreCase("ändern")) {
|
|
||||||
System.out.println("Geben Sie die neue Anzahl ein:");
|
|
||||||
neueAnzahl = scanner.nextInt();
|
|
||||||
scanner.nextLine(); // Clear buffer
|
|
||||||
}
|
|
||||||
System.out.println(shop.warenkorbBearbeiten(aktion, produktName, neueAnzahl));
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
for (String warenkorb : shop.warenkorbAnzeigen()) {
|
|
||||||
System.out.println(warenkorb);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
System.out.println("Bitte geben Sie Ihren Namen ein:");
|
|
||||||
String name = scanner.nextLine();
|
|
||||||
System.out.println("Bitte geben Sie Ihre Anschrift ein:");
|
|
||||||
String anschrift = scanner.nextLine();
|
|
||||||
System.out.println(shop.bestellungTaetigen(name, anschrift));
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
for (String bestellung : shop.alleBestellungenAnzeigen()) {
|
|
||||||
System.out.println(bestellung);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
System.out.println("Programm beendet.");
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
System.out.println("Ungültige Auswahl.");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue