Berrechnung der Versankosten und der dazugehörigen MwSt.
kleinere Optimierungen im Codemain
parent
1cf8a70ff6
commit
f2436e6ed7
|
|
@ -3,47 +3,31 @@ import java.util.ArrayList;
|
|||
public class Bestellung {
|
||||
String name;
|
||||
String adresse;
|
||||
ArrayList<Double> preis;
|
||||
ArrayList<Integer> mwSteuer;
|
||||
ArrayList<Double> gewicht;
|
||||
double versandkosten;
|
||||
double anteil7;
|
||||
double anteil19;
|
||||
double gesamtPreis;
|
||||
|
||||
public Bestellung() {
|
||||
|
||||
}
|
||||
public Bestellung(String name, String adresse, ArrayList<Double> preis, ArrayList<Integer> mwSteuer, ArrayList<Double> gewicht) {
|
||||
public Bestellung(String name, String adresse, double versandkosten, double anteil7, double anteil19, double gesamtPreis) {
|
||||
this.name = name;
|
||||
this.adresse = adresse;
|
||||
this.preis = preis;
|
||||
this.mwSteuer = mwSteuer;
|
||||
this.gewicht = gewicht;
|
||||
this.versandkosten = versandkosten;
|
||||
this.anteil7 = anteil7;
|
||||
this.anteil19 = anteil19;
|
||||
this.gesamtPreis = gesamtPreis;
|
||||
}
|
||||
|
||||
public void bestellbestätigung(){
|
||||
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(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + anteil19 + "€) \n");
|
||||
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!");
|
||||
}
|
||||
|
||||
public double bruttoPreisBerechnung() {
|
||||
double versandkosten = 0;
|
||||
double gesamtGewicht = 0;
|
||||
for (int i = 0; i < gewicht.size(); i++) {
|
||||
gesamtGewicht += gewicht.get(i);
|
||||
}
|
||||
if (gesamtGewicht >= 0.1) {
|
||||
versandkosten = 3.95;
|
||||
} else if (gesamtGewicht >= 1) {
|
||||
versandkosten = 4.95;
|
||||
} else if (gesamtGewicht >= 5) {
|
||||
versandkosten = 5.95;
|
||||
} else {
|
||||
versandkosten = 19.95;
|
||||
}
|
||||
double summeProdukte = 0;
|
||||
for (int i = 0; i < preis.size(); i++) {
|
||||
summeProdukte += preis.get(i);
|
||||
}
|
||||
double bruttoPreise = (summeProdukte + versandkosten) *
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class OnlineShop {
|
|||
|
||||
public void produkteInformationen() throws FileNotFoundException {
|
||||
String[] produkt = new String[lager.size()];
|
||||
System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand");
|
||||
System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand\n");
|
||||
for (int i = 0; i < lager.size(); i++) {
|
||||
produkt[i] = lager.get(i).toString();
|
||||
System.out.println(produkt[i]);
|
||||
|
|
@ -74,9 +74,10 @@ public class OnlineShop {
|
|||
public void warenkorbAusgabe(){
|
||||
|
||||
System.out.println("Der aktuelle Warenkorb sieht so aus: ");
|
||||
String[] MengeProduktPreis = warenkorb.ausgabe();
|
||||
for (int i = 0; i < MengeProduktPreis.length / 2; i++) {
|
||||
System.out.print(MengeProduktPreis[i] + " Stück | " + MengeProduktPreis[i+MengeProduktPreis.length/3] + " | " + MengeProduktPreis[i+(MengeProduktPreis.length/3)*2] + " €");
|
||||
String[] MengeProdukt = warenkorb.ausgabe();
|
||||
double[] bruttopreis = warenkorb.bruttoPreisBerechnen();
|
||||
for (int i = 0; i < MengeProdukt.length / 2 - 1; i++) {
|
||||
System.out.println(MengeProdukt[i] + " Stück | " + MengeProdukt[i+MengeProdukt.length/2 - 1] + " | " + (bruttopreis[i] * Integer.parseInt(MengeProdukt[i])) + "€");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -96,7 +97,8 @@ public class OnlineShop {
|
|||
int warenkorbStelle = scanner.nextInt();
|
||||
System.out.println("Bitte neue Menge angeben: ");
|
||||
int mengeNeu = scanner.nextInt();
|
||||
warenkorb.menge.set(warenkorbStelle, mengeNeu);
|
||||
warenkorb.menge.set(warenkorbStelle-1, mengeNeu);
|
||||
System.out.println(warenkorb.menge.get(warenkorbStelle-1));
|
||||
}
|
||||
warenkorbAusgabe();
|
||||
while(true) {
|
||||
|
|
@ -124,13 +126,16 @@ public class OnlineShop {
|
|||
Bestellung bestellung = new Bestellung();
|
||||
bestellung.name = name;
|
||||
bestellung.adresse = adresse;
|
||||
for (Produkt i : warenkorb.produkte) {
|
||||
bestellung.preis.add(i.getPreis());
|
||||
bestellung.mwSteuer.add(i.getMwSteuer());
|
||||
bestellung.gewicht.add(i.getGewicht());
|
||||
}
|
||||
|
||||
double[] versandkostenUndAnteile = warenkorb.versandkostenBerechnen();
|
||||
bestellung.versandkosten = versandkostenUndAnteile[0];
|
||||
bestellung.anteil7 = versandkostenUndAnteile[1];
|
||||
bestellung.anteil19 = versandkostenUndAnteile[2];
|
||||
bestellung.gesamtPreis = versandkostenUndAnteile[0] + warenkorb.gesamtPreisBerechnen();
|
||||
|
||||
warenkorb.menge.clear(); //.clear() mit Hilfe von KI
|
||||
warenkorb.produkte.clear();
|
||||
bestellung.bestellbestätigung();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,13 +15,66 @@ public class Warenkorb {
|
|||
}
|
||||
|
||||
public String[] ausgabe() {
|
||||
String[] MengeProduktPreis = new String[menge.size()*3];
|
||||
String[] MengeProdukt = new String[menge.size()*2];
|
||||
|
||||
for(int i=0;i<menge.size();i++){
|
||||
MengeProduktPreis[i] = menge.get(i).toString();
|
||||
MengeProduktPreis[i + menge.size()] = produkte.get(i).getName();
|
||||
MengeProduktPreis[i + menge.size() * 2] = produktePreis.toString();
|
||||
MengeProdukt[i] = menge.get(i).toString();
|
||||
MengeProdukt[i + menge.size()] = produkte.get(i).getName();
|
||||
|
||||
}
|
||||
return MengeProduktPreis;
|
||||
return MengeProdukt;
|
||||
}
|
||||
public double[] bruttoPreisBerechnen() {
|
||||
double[] bruttopreis = new double[produkte.size()];
|
||||
for (int i = 0; i < produkte.size(); i++) {
|
||||
bruttopreis[i] = produkte.get(i).getPreis() * (produkte.get(i).getMwSteuer() / 100.0 + 1);
|
||||
bruttopreis[i] = (int) (bruttopreis[i]*100) / 100.0; }
|
||||
return bruttopreis;
|
||||
}
|
||||
|
||||
public double[] versandkostenBerechnen(){
|
||||
double gesamtGewicht = 0;
|
||||
int zählermwSteuer19 = 0;
|
||||
int zählermwSteuer7 = 0;
|
||||
for (int i = 0; i < produkte.size(); i++) {
|
||||
gesamtGewicht += produkte.get(i).getGewicht();
|
||||
if(produkte.get(i).getMwSteuer() == 19){
|
||||
zählermwSteuer19 += menge.get(i);}
|
||||
else if(produkte.get(i).getMwSteuer() == 7){
|
||||
zählermwSteuer7 += menge.get(i);}
|
||||
|
||||
}
|
||||
double anteil7 = zählermwSteuer7 / (zählermwSteuer19 + zählermwSteuer7);
|
||||
double anteil19 = zählermwSteuer19 / (zählermwSteuer19 + zählermwSteuer7);
|
||||
double[] versandkostenUndAnteile = new double[3];
|
||||
|
||||
if (gesamtGewicht >= 0.1) {
|
||||
versandkostenUndAnteile[0] = 3.95;
|
||||
} else if (gesamtGewicht >= 1) {
|
||||
versandkostenUndAnteile[0] = 4.95;
|
||||
} else if (gesamtGewicht >= 5) {
|
||||
versandkostenUndAnteile[0] = 5.95;
|
||||
} else {
|
||||
versandkostenUndAnteile[0] = 19.95;
|
||||
}
|
||||
anteil7 = versandkostenUndAnteile[0] * anteil7;
|
||||
versandkostenUndAnteile[1] = anteil7 * 1.07;
|
||||
anteil19 = versandkostenUndAnteile[0] * anteil19;
|
||||
versandkostenUndAnteile[3] = anteil19 * 1.19;
|
||||
|
||||
|
||||
return versandkostenUndAnteile;
|
||||
|
||||
|
||||
|
||||
}
|
||||
public double gesamtPreisBerechnen(){
|
||||
double[] bruttoPreise = bruttoPreisBerechnen();
|
||||
double gesamtPreis = 0;
|
||||
for (double i : bruttoPreise) {
|
||||
gesamtPreis += i;
|
||||
}
|
||||
return gesamtPreis;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue