für bessere trennung sind weiter klassen hinzugefügt.

problem bei ausgabe von zahlung
main
Zabih Mansuri 2024-10-21 18:52:25 +02:00
parent 2c8df70c43
commit e78d637cf7
10 changed files with 174 additions and 128 deletions

14
Bestellung.java 100644
View File

@ -0,0 +1,14 @@
public class Bestellung {
private Warenkorb warenkorb;
private float versandkosten;
public Bestellung(Warenkorb warenkorb, float versandkosten) {
this.warenkorb = warenkorb;
this.versandkosten = versandkosten;
}
@Override
public String toString() {
return "Bestellung:\n" + warenkorb + "\nVersandkosten: " + versandkosten + " Euro\n";
}
}

View File

@ -1,42 +1,14 @@
public class Kunden {
class Kunden { private String name;
private String namek;
private String adresse; private String adresse;
private int kartennummer;
private String bank;
Kunden() { public Kunden(String name, String adresse) {
} this.name = name;
public String getnamek() {
return this.namek;
}
void setnamek(String namek1) {
this.namek = this.namek;
}
public String getAdresse() {
return this.adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse; this.adresse = adresse;
} }
public int getKartennummer() { @Override
return this.kartennummer; public String toString() {
} return "Name: " + name + ", Adresse: " + adresse;
public void setKartennummer(int kartennummer) {
this.kartennummer = kartennummer;
}
public String getBank() {
return this.bank;
}
public void setBank(String bank) {
this.bank = bank;
} }
} }

125
Main.java
View File

@ -1,63 +1,88 @@
import java.util.ArrayList;
import java.io.PrintStream; import java.util.List;
import java.util.Scanner; import java.util.Scanner;
public class Main {
static int anzahl;
static int id;
static float preis;
static int weiter;
public Main() { public class Main {
} static Warenkorb warenkorb = new Warenkorb();
static List<Bestellung> bestellungen = new ArrayList<>();
public static void main(String[] args) { public static void main(String[] args) {
Prudukt gabel = new Prudukt("gabel", 30, 1, 1.12F); // Erstellen von Produkten mit Name, ID, Preis und Gewicht
Prudukt gabel1 = new Prudukt("messer", 30, 1, 1.14F); Prudukt gabel = new Prudukt("Gabel", 1, 1.12F, 0.1F);
Prudukt gabel2 = new Prudukt("loefel", 30, 1, 1.15F); Prudukt messer = new Prudukt("Messer", 2, 1.14F, 0.2F);
Warenkorb w = new Warenkorb(id, preis, anzahl); Prudukt loeffel = new Prudukt("Löffel", 3, 1.15F, 0.15F);
PrintStream var10000 = System.out;
int var10001 = gabel.getId(); Scanner scanner = new Scanner(System.in);
var10000.println("ID: " + var10001 + "\nName: " + gabel.getName() + "\nPreis: " + gabel.getPreis() + "\nLagerbestand: " + gabel.getAnzahl()); boolean einkaufFortsetzen = true;
var10000 = System.out;
var10001 = gabel1.getId(); // Schleife, um Produkte in den Warenkorb hinzuzufügen
var10000.println("ID: " + var10001 + "\nName: " + gabel1.getName() + "\nPreis: " + gabel1.getPreis() + "\nLagerbestand: " + gabel1.getAnzahl()); while (einkaufFortsetzen) {
var10000 = System.out; // Produktliste anzeigen
var10001 = gabel2.getId(); System.out.println("Verfügbare Produkte:");
var10000.println("ID: " + var10001 + "\nName: " + gabel2.getName() + "\nPreis: " + gabel2.getPreis() + "\nLagerbestand: " + gabel2.getAnzahl()); System.out.println(gabel);
scanner1(); System.out.println(messer);
if (weiter == 5) { System.out.println(loeffel);
scanner1();
} else if (weiter == 6) { // Produkt zum Warenkorb hinzufügen
w.printGesamtPreis(); System.out.println("Geben Sie die ID des gewünschten Produkts ein:");
int id = scanner.nextInt();
System.out.println("Geben Sie die Anzahl ein:");
int anzahl = scanner.nextInt();
// Auswahl des Produkts basierend auf der ID
switch (id) {
case 1:
warenkorb.produktHinzufuegen(gabel, anzahl);
break;
case 2:
warenkorb.produktHinzufuegen(messer, anzahl);
break;
case 3:
warenkorb.produktHinzufuegen(loeffel, anzahl);
break;
default:
System.out.println("Ungültige Produkt-ID.");
break;
}
// Benutzer fragen, ob er weiter einkaufen möchte
System.out.println("Möchten Sie weiter einkaufen? (1 für Ja, 0 für Nein)");
einkaufFortsetzen = scanner.nextInt() == 1;
} }
// Warenkorb anzeigen und Gesamtkosten berechnen
warenkorb.printWarenkorb();
// Kundendaten eingeben
kundenkauf(); kundenkauf();
// Bestellung abschließen und speichern
Bestellung bestellung = new Bestellung(warenkorb, warenkorb.berechneVersandkosten());
bestellungen.add(bestellung);
// Bestellungen anzeigen
System.out.println("Ihre Bestellung wurde gespeichert:");
System.out.println(bestellung);
// Alle Bestellungen anzeigen
System.out.println("Alle Bestellungen:");
for (Bestellung b : bestellungen) {
System.out.println(b);
}
} }
static void scanner1() { // Methode zur Eingabe von Kundendaten
Scanner scanner = new Scanner(System.in);
System.out.println("gebn sie die gwünschte prudukt id ein");
id = scanner.nextInt();
System.out.println("gebn sie die gwünschte prudukt anzahl ein");
anzahl = scanner.nextInt();
System.out.println("für weiter einkauf bitte nummer 5 eingeben und für warenkorb 6");
weiter = scanner.nextInt();
}
static void kundenkauf() { static void kundenkauf() {
Kunden m1 = new Kunden();
Scanner kundeinfo = new Scanner(System.in); Scanner kundeinfo = new Scanner(System.in);
System.out.println("geben sie ihre daten ,name ein"); System.out.println("Geben Sie Ihre Daten ein:");
String namek1 = kundeinfo.nextLine();
m1.setnamek(namek1); System.out.print("Name: ");
System.out.println("geben sie adresse ein "); String name = kundeinfo.nextLine();
String adresse1 = kundeinfo.nextLine();
m1.setAdresse(adresse1); System.out.print("Adresse: ");
System.out.println("geben sie ihre daten ein "); String adresse = kundeinfo.nextLine();
int kar = kundeinfo.nextInt();
m1.setKartennummer(kar); // Setzen des Kunden im Warenkorb
System.out.println("geben sie ihre daten ein "); warenkorb.setKunde(new Kunden(name, adresse));
String bankn = kundeinfo.nextLine();
m1.setBank(bankn);
} }
} }

30
Prudukt.java 100644
View File

@ -0,0 +1,30 @@
public class Prudukt {
private String name;
private int id;
private float preis;
private float gewicht; // Gewicht des Produkts
public Prudukt(String name, int id, float preis, float gewicht) {
this.name = name;
this.id = id;
this.preis = preis;
this.gewicht = gewicht;
}
public float getPreis() {
return preis;
}
public float getGewicht() {
return gewicht;
}
public int getId() {
return id;
}
@Override
public String toString() {
return "ID: " + id + ", Name: " + name + ", Preis: " + preis + " Euro, Gewicht: " + gewicht + " kg";
}
}

View File

@ -1,18 +1,53 @@
class Warenkorb { import java.util.ArrayList;
int id; import java.util.List;
float preis;
int anzahl;
float gesamtpreis;
Warenkorb(int id, float preis, int anzahl) { public class Warenkorb {
this.id = id; private List<Prudukt> produkte = new ArrayList<>();
this.preis = preis; private List<Integer> anzahlProdukte = new ArrayList<>();
this.anzahl = anzahl; private Kunden kunde;
public void produktHinzufuegen(Prudukt produkt, int anzahl) {
produkte.add(produkt);
anzahlProdukte.add(anzahl);
} }
public void printGesamtPreis() { public void setKunde(Kunden kunde) {
float gesamtpreis = this.preis * (float)this.anzahl; this.kunde = kunde;
this.gesamtpreis = gesamtpreis; }
System.out.println(gesamtpreis);
public float berechneGesamtpreis() {
float gesamtpreis = 0;
for (int i = 0; i < produkte.size(); i++) {
gesamtpreis += produkte.get(i).getPreis() * anzahlProdukte.get(i);
}
return gesamtpreis;
}
public float berechneGesamtgewicht() {
float gesamtgewicht = 0;
for (int i = 0; i < produkte.size(); i++) {
gesamtgewicht += produkte.get(i).getGewicht() * anzahlProdukte.get(i);
}
return gesamtgewicht;
}
public float berechneVersandkosten() {
float gewicht = berechneGesamtgewicht();
if (gewicht <= 1) {
return 5;
} else if (gewicht <= 2.5) {
return 8;
} else {
return 10;
}
}
public void printWarenkorb() {
System.out.println("Warenkorb:");
for (int i = 0; i < produkte.size(); i++) {
Prudukt produkt = produkte.get(i);
System.out.println(produkt + ", Anzahl: " + anzahlProdukte.get(i));
}
System.out.println("Gesamtpreis: " + berechneGesamtpreis() + " Euro");
} }
} }

View File

@ -1,30 +0,0 @@
class Prudukt {
private String name;
private int anzahl;
private int id;
private float preis;
Prudukt(String name, int anzahl, int id, float preis) {
this.name = name;
this.anzahl = anzahl;
this.id = id;
this.preis = preis;
}
public float getPreis() {
return this.preis;
}
public int getAnzahl() {
return this.anzahl;
}
public String getName() {
return this.name;
}
public int getId() {
return this.id;
}
}