Fertigstellung des Codes (fürs erste)

main
igor.lewandowski 2025-12-14 16:15:58 +01:00
parent f2436e6ed7
commit 4a67ef364f
4 changed files with 68 additions and 48 deletions

View File

@ -22,10 +22,10 @@ double gesamtPreis;
public void bestellbestätigung(){ public void bestellbestätigung(){
System.out.println("Bestellungbestätigung: \n" + name); System.out.println("Bestellungbestätigung: \n" + name);
System.out.println("Der Gesamt Preis ihrer Bestellung berträgt " + (gesamtPreis-versandkosten) + "€, davon " + versandkosten +"€ Versandkosten"); System.out.println("Der Gesamt Preis ihrer Bestellung berträgt " + (gesamtPreis) + "€, davon " + versandkosten +"€ Versandkosten");
System.out.println(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€) \n"); System.out.println(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€, Netto: " + (versandkosten-(anteil7 + anteil19)) + "€ \n");
System.out.println("Ihre Bestellung wurde erflogreich aufgenommen und wird an " + adresse + " geliefert."); System.out.println("Ihre Bestellung wurde erflogreich aufgenommen und wird an " + adresse + " geliefert.");
System.out.println("Die Bestellung wird in 5-7 Werktagen bei Ihnen eintreten. \nVielen Dank für Ihre Bestellung!"); System.out.println("Die Bestellung wird in 5-7 Werktagen bei Ihnen eintreffen. \nVielen Dank für Ihre Bestellung!");
} }

View File

@ -45,10 +45,8 @@ public class OnlineShop {
} }
public void produkteListe() throws FileNotFoundException { public void produkteListe() throws FileNotFoundException {
Produkt[] produkt = new Produkt[lager.size()]; for (int i = 0; i < lager.size(); i++) {
for (int i = 1; i < lager.size(); i++) { System.out.println(i+1 + ". " + lager.get(i).getName());
produkt[i] = lager.get(i);
System.out.println(i + ". " + produkt[i].getName());
} }
} }
@ -65,19 +63,14 @@ public class OnlineShop {
public void inWarenkorb(int produktNr, int menge){ public void inWarenkorb(int produktNr, int menge){
warenkorb.produkte.add(lager.get(produktNr-1)); warenkorb.produkte.add(lager.get(produktNr-1));
warenkorb.menge.add(menge); warenkorb.menge.add(menge);
double summe = menge * lager.get(produktNr-1).getPreis();
warenkorb.produktePreis.add(summe);
} }
public void warenkorbAusgabe(){ public void warenkorbAusgabe(){
System.out.println("Der aktuelle Warenkorb sieht so aus: "); System.out.println("Der aktuelle Warenkorb sieht so aus: ");
String[] MengeProdukt = warenkorb.ausgabe();
double[] bruttopreis = warenkorb.bruttoPreisBerechnen(); double[] bruttopreis = warenkorb.bruttoPreisBerechnen();
for (int i = 0; i < MengeProdukt.length / 2 - 1; i++) { for (int i = 0; i < lager.size(); i++) {;
System.out.println(MengeProdukt[i] + " Stück | " + MengeProdukt[i+MengeProdukt.length/2 - 1] + " | " + (bruttopreis[i] * Integer.parseInt(MengeProdukt[i])) + "€"); System.out.println(warenkorb.menge.get(i) + " Stück | " + lager.get(i).getName() + " | " + (bruttopreis[i] * warenkorb.menge.get(i)) + "€");
} }
} }
@ -85,26 +78,49 @@ public class OnlineShop {
public void warenkorbÄnderungen(int auswahl){ public void warenkorbÄnderungen(int auswahl){
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
if (auswahl == 1) { if (auswahl == 1) {
System.out.println("Welches Produkt möchten Sie aus dem Warenkorb löschen? \nBitte die Stelle im Warenkorb angeben"); System.out.println("Welches Produkt möchten Sie aus dem Warenkorb löschen? \nBitte die Stelle im Warenkorb angeben (0=Hauptmenü)\n");
int warenkorbStelle = scanner.nextInt(); int warenkorbStelle = scanner.nextInt();
if (warenkorbStelle == 0) {
return;
}
while(true) {
if (warenkorbStelle > lager.size()) {
System.out.println("Ungültige Eingabe! ");
continue;
}
else {break;}
}
warenkorb.menge.remove(warenkorbStelle-1); //".remove" mit Hilfe von KI warenkorb.menge.remove(warenkorbStelle-1); //".remove" mit Hilfe von KI
warenkorb.produkte.remove(warenkorbStelle-1); warenkorb.produkte.remove(warenkorbStelle-1);
warenkorb.produktePreis.remove(warenkorbStelle-1);
} else if (auswahl == 2) { } else if (auswahl == 2) {
System.out.println("Von welchem Produkt möchten Sie die Menge verändern \nBitte die Stelle im Warenkorb angeben\n"); System.out.println("Von welchem Produkt möchten Sie die Menge verändern \nBitte die Stelle im Warenkorb angeben (0=Hauptmenü)\n");
int warenkorbStelle = scanner.nextInt(); int warenkorbStelle = scanner.nextInt();
if(warenkorbStelle == 0){
return;
}
while(true) {
if (warenkorbStelle > lager.size()) {
System.out.println("Ungültige Eingabe! ");
continue;
}
else {break;}
}
System.out.println("Bitte neue Menge angeben: "); System.out.println("Bitte neue Menge angeben: ");
int mengeNeu = scanner.nextInt(); int mengeNeu = scanner.nextInt();
warenkorb.menge.set(warenkorbStelle-1, mengeNeu); warenkorb.menge.set(warenkorbStelle-1, mengeNeu);
System.out.println(warenkorb.menge.get(warenkorbStelle-1)); System.out.println(warenkorb.menge.get(warenkorbStelle-1));
} }
warenkorbAusgabe(); warenkorbAusgabe();
while(true) { while(true) {
System.out.println("\n \n Möchten Sie weitere Änderungen vornehmen?(1=Ja, 2=Nein): "); System.out.println("\n \n Möchten Sie weitere Änderungen vornehmen?(1=Ja, 2=Nein): ");
int auswahlNeu = scanner.nextInt(); int auswahlNeu = scanner.nextInt();
if (auswahlNeu == 1) { if (auswahlNeu == 1) {
System.out.println("1=Produkt löschen, 2=Menge verändern");
auswahl = scanner.nextInt();
warenkorbÄnderungen(auswahl); warenkorbÄnderungen(auswahl);
} }
else if (auswahlNeu == 2) { else if (auswahlNeu == 2) {
@ -119,10 +135,16 @@ public class OnlineShop {
} }
public void bestellungAbschließen(){ public void bestellungAbschließen(){
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
System.out.println("Sind Sie sich sicher? (1=Fortfahren, 2=Hauptmenü)");
int fortfahren = scanner.nextInt();
if (fortfahren == 2) {
return;
}
System.out.println("Bitte geben Sie Ihren Namen an (Vorname Nachname): "); System.out.println("Bitte geben Sie Ihren Namen an (Vorname Nachname): ");
String name = scanner.next(); scanner.nextLine();
String name = scanner.nextLine();
System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)"); System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)");
String adresse = scanner.next(); String adresse = scanner.nextLine();
Bestellung bestellung = new Bestellung(); Bestellung bestellung = new Bestellung();
bestellung.name = name; bestellung.name = name;
bestellung.adresse = adresse; bestellung.adresse = adresse;
@ -131,7 +153,12 @@ public class OnlineShop {
bestellung.versandkosten = versandkostenUndAnteile[0]; bestellung.versandkosten = versandkostenUndAnteile[0];
bestellung.anteil7 = versandkostenUndAnteile[1]; bestellung.anteil7 = versandkostenUndAnteile[1];
bestellung.anteil19 = versandkostenUndAnteile[2]; bestellung.anteil19 = versandkostenUndAnteile[2];
bestellung.gesamtPreis = versandkostenUndAnteile[0] + warenkorb.gesamtPreisBerechnen(); double[] bruttopreis = warenkorb.bruttoPreisBerechnen();
double gesamtpreis = 0;
for (int i = 0; i <bruttopreis.length; i++) {
gesamtpreis += bruttopreis[i] * warenkorb.menge.get(i);
}
bestellung.gesamtPreis = versandkostenUndAnteile[0] + gesamtpreis;
warenkorb.menge.clear(); //.clear() mit Hilfe von KI warenkorb.menge.clear(); //.clear() mit Hilfe von KI
warenkorb.produkte.clear(); warenkorb.produkte.clear();

View File

@ -39,6 +39,15 @@ public class ShopTUI {
case 3: case 3:
shop.bestellungAbschließen(); shop.bestellungAbschließen();
System.out.println("Möchten Sie die Seite schließen?(1=Ja, 2=Nein)");
int eingabe = scanner.nextInt();
if (eingabe == 1) {
System.exit(0);
break;
}
else if (eingabe == 2) {
hauptmenu();
}
break; break;
case 0: case 0:

View File

@ -3,7 +3,6 @@ import java.util.ArrayList;
public class Warenkorb { public class Warenkorb {
ArrayList<Integer> menge = new ArrayList<>(); ArrayList<Integer> menge = new ArrayList<>();
ArrayList<Produkt> produkte = new ArrayList<>(); ArrayList<Produkt> produkte = new ArrayList<>();
ArrayList<Double> produktePreis = new ArrayList<>();
public Warenkorb() public Warenkorb()
{ {
@ -11,24 +10,14 @@ public class Warenkorb {
public Warenkorb(ArrayList<Integer> menge, ArrayList<Produkt> produkte) { public Warenkorb(ArrayList<Integer> menge, ArrayList<Produkt> produkte) {
this.menge = menge; this.menge = menge;
this.produkte = produkte; this.produkte = produkte;
this.produktePreis = produktePreis;
} }
public String[] ausgabe() {
String[] MengeProdukt = new String[menge.size()*2];
for(int i=0;i<menge.size();i++){
MengeProdukt[i] = menge.get(i).toString();
MengeProdukt[i + menge.size()] = produkte.get(i).getName();
}
return MengeProdukt;
}
public double[] bruttoPreisBerechnen() { public double[] bruttoPreisBerechnen() {
double[] bruttopreis = new double[produkte.size()]; double[] bruttopreis = new double[produkte.size()];
for (int i = 0; i < produkte.size(); i++) { for (int i = 0; i < produkte.size(); i++) {
bruttopreis[i] = produkte.get(i).getPreis() * (produkte.get(i).getMwSteuer() / 100.0 + 1); bruttopreis[i] = produkte.get(i).getPreis() * (produkte.get(i).getMwSteuer() / 100.0 + 1);
bruttopreis[i] = (int) (bruttopreis[i]*100) / 100.0; } bruttopreis[i] = (int) (bruttopreis[i]*100) / 100.0;
}
return bruttopreis; return bruttopreis;
} }
@ -44,23 +33,26 @@ public class Warenkorb {
zählermwSteuer7 += menge.get(i);} zählermwSteuer7 += menge.get(i);}
} }
double anteil7 = zählermwSteuer7 / (zählermwSteuer19 + zählermwSteuer7); System.out.println(zählermwSteuer7 + " " + zählermwSteuer19);
double anteil19 = zählermwSteuer19 / (zählermwSteuer19 + zählermwSteuer7); double anteil7 = (double) zählermwSteuer7 / (zählermwSteuer19 + zählermwSteuer7);
double anteil19 = (double) zählermwSteuer19 / (zählermwSteuer19 + zählermwSteuer7);
double[] versandkostenUndAnteile = new double[3]; double[] versandkostenUndAnteile = new double[3];
if (gesamtGewicht >= 0.1) { if (gesamtGewicht <= 0.1) {
versandkostenUndAnteile[0] = 3.95; versandkostenUndAnteile[0] = 3.95;
} else if (gesamtGewicht >= 1) { } else if (gesamtGewicht <= 1) {
versandkostenUndAnteile[0] = 4.95; versandkostenUndAnteile[0] = 4.95;
} else if (gesamtGewicht >= 5) { } else if (gesamtGewicht <= 5) {
versandkostenUndAnteile[0] = 5.95; versandkostenUndAnteile[0] = 5.95;
} else { } else {
versandkostenUndAnteile[0] = 19.95; versandkostenUndAnteile[0] = 19.95;
} }
anteil7 = versandkostenUndAnteile[0] * anteil7; anteil7 = versandkostenUndAnteile[0] * anteil7;
versandkostenUndAnteile[1] = anteil7 * 1.07; versandkostenUndAnteile[1] = anteil7 - (anteil7 / 1.07);
versandkostenUndAnteile[1] = (int) (versandkostenUndAnteile[1] * 100) / 100.0;
anteil19 = versandkostenUndAnteile[0] * anteil19; anteil19 = versandkostenUndAnteile[0] * anteil19;
versandkostenUndAnteile[3] = anteil19 * 1.19; versandkostenUndAnteile[2] = anteil19 - (anteil19 / 1.19);
versandkostenUndAnteile[2] = (int) (versandkostenUndAnteile[2] * 100) / 100.0;
return versandkostenUndAnteile; return versandkostenUndAnteile;
@ -68,13 +60,5 @@ public class Warenkorb {
} }
public double gesamtPreisBerechnen(){
double[] bruttoPreise = bruttoPreisBerechnen();
double gesamtPreis = 0;
for (double i : bruttoPreise) {
gesamtPreis += i;
}
return gesamtPreis;
}
} }