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 {
|
public class Bestellung {
|
||||||
String name;
|
String name;
|
||||||
String adresse;
|
String adresse;
|
||||||
ArrayList<Double> preis;
|
double versandkosten;
|
||||||
ArrayList<Integer> mwSteuer;
|
double anteil7;
|
||||||
ArrayList<Double> gewicht;
|
double anteil19;
|
||||||
|
double gesamtPreis;
|
||||||
|
|
||||||
public Bestellung() {
|
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.name = name;
|
||||||
this.adresse = adresse;
|
this.adresse = adresse;
|
||||||
this.preis = preis;
|
this.versandkosten = versandkosten;
|
||||||
this.mwSteuer = mwSteuer;
|
this.anteil7 = anteil7;
|
||||||
this.gewicht = gewicht;
|
this.anteil19 = anteil19;
|
||||||
|
this.gesamtPreis = 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(" (inkl. MwSt. 7%: " + anteil7 + " , MwSt. 19%: " + 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 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 {
|
public void produkteInformationen() throws FileNotFoundException {
|
||||||
String[] produkt = new String[lager.size()];
|
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++) {
|
for (int i = 0; i < lager.size(); i++) {
|
||||||
produkt[i] = lager.get(i).toString();
|
produkt[i] = lager.get(i).toString();
|
||||||
System.out.println(produkt[i]);
|
System.out.println(produkt[i]);
|
||||||
|
|
@ -74,9 +74,10 @@ public class OnlineShop {
|
||||||
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[] MengeProduktPreis = warenkorb.ausgabe();
|
String[] MengeProdukt = warenkorb.ausgabe();
|
||||||
for (int i = 0; i < MengeProduktPreis.length / 2; i++) {
|
double[] bruttopreis = warenkorb.bruttoPreisBerechnen();
|
||||||
System.out.print(MengeProduktPreis[i] + " Stück | " + MengeProduktPreis[i+MengeProduktPreis.length/3] + " | " + MengeProduktPreis[i+(MengeProduktPreis.length/3)*2] + " €");
|
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();
|
int warenkorbStelle = scanner.nextInt();
|
||||||
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, mengeNeu);
|
warenkorb.menge.set(warenkorbStelle-1, mengeNeu);
|
||||||
|
System.out.println(warenkorb.menge.get(warenkorbStelle-1));
|
||||||
}
|
}
|
||||||
warenkorbAusgabe();
|
warenkorbAusgabe();
|
||||||
while(true) {
|
while(true) {
|
||||||
|
|
@ -124,13 +126,16 @@ public class OnlineShop {
|
||||||
Bestellung bestellung = new Bestellung();
|
Bestellung bestellung = new Bestellung();
|
||||||
bestellung.name = name;
|
bestellung.name = name;
|
||||||
bestellung.adresse = adresse;
|
bestellung.adresse = adresse;
|
||||||
for (Produkt i : warenkorb.produkte) {
|
|
||||||
bestellung.preis.add(i.getPreis());
|
double[] versandkostenUndAnteile = warenkorb.versandkostenBerechnen();
|
||||||
bestellung.mwSteuer.add(i.getMwSteuer());
|
bestellung.versandkosten = versandkostenUndAnteile[0];
|
||||||
bestellung.gewicht.add(i.getGewicht());
|
bestellung.anteil7 = versandkostenUndAnteile[1];
|
||||||
}
|
bestellung.anteil19 = versandkostenUndAnteile[2];
|
||||||
warenkorb.menge.clear(); //.clear() mit Hilfe von KI
|
bestellung.gesamtPreis = versandkostenUndAnteile[0] + warenkorb.gesamtPreisBerechnen();
|
||||||
warenkorb.produkte.clear();
|
|
||||||
bestellung.bestellbestätigung();
|
warenkorb.menge.clear(); //.clear() mit Hilfe von KI
|
||||||
|
warenkorb.produkte.clear();
|
||||||
|
bestellung.bestellbestätigung();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,66 @@ public class Warenkorb {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] ausgabe() {
|
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++){
|
for(int i=0;i<menge.size();i++){
|
||||||
MengeProduktPreis[i] = menge.get(i).toString();
|
MengeProdukt[i] = menge.get(i).toString();
|
||||||
MengeProduktPreis[i + menge.size()] = produkte.get(i).getName();
|
MengeProdukt[i + menge.size()] = produkte.get(i).getName();
|
||||||
MengeProduktPreis[i + menge.size() * 2] = produktePreis.toString();
|
|
||||||
}
|
}
|
||||||
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