Hallo liebe Community,
seit kurzem Befasse ich mich nun mit dem programmieren und habe dies auch mit JAVA begonnen. Somit bin ich noch ein kompletter Neueinsteiger
Am gestrigen Abend habe ich mir mal die Zeit genommen und mir ein kleines Einkaufs Programm geschrieben.
Was mich interessieren würde, ob ich dort vielleicht Dinge zu sehr verkompliziert habe und es elegantere Lösungen gibt etc. - Lieber von beginn an richtig machen!
Desweiteren habe ich mir um die Console auf zuräumen Abhilfe geschaffen in dem mir das Programm zu einem Zeitpunkt einfach 20 leere Zeilen ausgibt. (ClearScreen.clearScreen();)
Gibt es dafür elegantere Varianten?
Hier mal mein Code der Main Klasse:
Ich freue mich auf Rückmeldung und verbleibe
Mit freundlichen Grüßen
Felix
seit kurzem Befasse ich mich nun mit dem programmieren und habe dies auch mit JAVA begonnen. Somit bin ich noch ein kompletter Neueinsteiger
Am gestrigen Abend habe ich mir mal die Zeit genommen und mir ein kleines Einkaufs Programm geschrieben.
Was mich interessieren würde, ob ich dort vielleicht Dinge zu sehr verkompliziert habe und es elegantere Lösungen gibt etc. - Lieber von beginn an richtig machen!
Desweiteren habe ich mir um die Console auf zuräumen Abhilfe geschaffen in dem mir das Programm zu einem Zeitpunkt einfach 20 leere Zeilen ausgibt. (ClearScreen.clearScreen();)
Gibt es dafür elegantere Varianten?
Hier mal mein Code der Main Klasse:
Java:
package de.felixhoevel;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
List<Integer> warenkorbBananen = new ArrayList<Integer>();
List<Integer> warenkorbAepfel = new ArrayList<Integer>();
List<Integer> warenkorbErdbeeren = new ArrayList<Integer>();
List<Integer> warenkorbNutella = new ArrayList<Integer>();
List<Integer> warenkorbBrot = new ArrayList<Integer>();
while (true) {
System.out.println("Welchen Artikel moechten sie einkaufen?");
System.out.println("0 - Einkauf beenden");
System.out.println("1 - Bananen");
System.out.println("2 - Aepfel");
System.out.println("3 - Erdbeeren");
System.out.println("4 - Nutella");
System.out.println("5 - Brot");
System.out.println("6 - Rechnung anzeigen");
switch (new Scanner(System.in).nextInt()) {
case 0:
System.out.println("Auf Wiedersehen!");
System.exit(0);
case 1:
int i = 0;
System.out.println("Die Bananen kosten: " + Prices.BANANEN);
System.out.println("Wie viele Bananen moechten sie kaufen?");
int numBananen = new Scanner(System.in).nextInt();
warenkorbBananen.add(i, numBananen);
++i;
break;
case 2:
int ii = 0;
System.out.println("Die Aepfel kosten: " + Prices.AEPFEL);
System.out.println("Wie viele Aepfel moechten sie kaufen?");
int numAepfel = new Scanner(System.in).nextInt();
warenkorbAepfel.add(ii, numAepfel);
++ii;
break;
case 3:
int iii = 0;
System.out.println("Die Erdbeeren kosten: " + Prices.ERDBAEREN);
System.out.println("Wie viele Erdbeeren moechten sie kaufen?");
int numErdbaeeren = new Scanner(System.in).nextInt();
warenkorbErdbeeren.add(iii, numErdbaeeren);
++iii;
break;
case 4:
int iiii = 0;
System.out.println("Das Nutella kostet: " + Prices.NUTELLA);
System.out.println("Wie viele Glaeser Nutella moechten sie kaufen?");
int numNutella = new Scanner(System.in).nextInt();
warenkorbNutella.add(iiii, numNutella);
++iiii;
break;
case 5:
int iiiii = 0;
System.out.println("Das Brot kostet: " + Prices.BROT);
System.out.println("Wie viele Brote moechten sie kaufen?");
int numBrot = new Scanner(System.in).nextInt();
warenkorbBrot.add(iiiii, numBrot);
++iiiii;
break;
case 6:
// Bananen
ListIterator<Integer> liBananen = warenkorbBananen.listIterator();
int summeBananen = 0;
while (liBananen.hasNext()) {
summeBananen += liBananen.next();
}
double preisBananenGesammt = summeBananen * Prices.BANANEN;
//Aepfel
ListIterator<Integer> liAepfel = warenkorbAepfel.listIterator();
int summeAepfel = 0;
while (liAepfel.hasNext()) {
summeAepfel += liAepfel.next();
}
double preisAepfelGesammt = summeAepfel * Prices.AEPFEL;
//Erdbeeren
ListIterator<Integer> liErdbeeren = warenkorbErdbeeren.listIterator();
int summeErdbeeren = 0;
while (liErdbeeren.hasNext()) {
summeErdbeeren += liErdbeeren.next();
}
double preisErdbeerenGesammt = summeErdbeeren * Prices.ERDBAEREN;
//Nutella
ListIterator<Integer> liNutella = warenkorbNutella.listIterator();
int summeNutella = 0;
while (liNutella.hasNext()) {
summeNutella += liNutella.next();
}
double preisNutellaGesammt = summeNutella * Prices.NUTELLA;
//Brot
ListIterator<Integer> liBrot = warenkorbBrot.listIterator();
int summeBrot = 0;
while (liBrot.hasNext()) {
summeBrot += liBrot.next();
}
double preisBrotGesammt = summeBrot * Prices.BROT;
double preisGesammtNetto = preisBananenGesammt + preisAepfelGesammt + preisErdbeerenGesammt + preisNutellaGesammt + preisBrotGesammt;
double preisGesammtBrutto = preisGesammtNetto * 1.07;
//Runden
preisGesammtNetto = Math.round((preisGesammtNetto * 100d) / 100d);
preisGesammtBrutto = Math.round((preisGesammtBrutto * 100d) / 100d);
ClearScreen.clearScreen();
System.out.println("Ihre Rechnung:");
System.out.println(summeBananen + "x Bananen(" + Prices.BANANEN + ") Gesammt: " + preisBananenGesammt);
System.out.println(summeAepfel + "x Aepfel(" + Prices.AEPFEL + ") Gesammt: " + preisAepfelGesammt);
System.out.println(summeErdbeeren + "x Erdbeeren(" + Prices.ERDBAEREN + ") Gesammt: " + preisErdbeerenGesammt);
System.out.println(summeNutella + "x Nutella(" + Prices.NUTELLA + ") Gesammt: " + preisNutellaGesammt);
System.out.println(summeBrot + "x Brot(" + Prices.BROT + ") Gesammt: " + preisBrotGesammt);
System.out.println("");
System.out.println("Preis Netto: " + preisGesammtNetto);
System.out.println("zzgl. 7% MwSt");
System.out.println("Preis Brutto: " + preisGesammtBrutto);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
ClearScreen.clearScreen();
break;
default:
System.out.println("Falsche Eingabe");
continue;
}
}
}
}
Ich freue mich auf Rückmeldung und verbleibe
Mit freundlichen Grüßen
Felix