Auslagerung in Methoden

This commit is contained in:
Joel Baldauf
2020-10-02 10:39:14 +02:00
parent 8cc3bf4885
commit 7326467647
+97 -81
View File
@@ -2,91 +2,107 @@
class Fahrkartenautomat
{
public static float fahrkartenbestellungErfassen (){
Scanner tastatur = new Scanner(System.in);
float zuZahlenderBetrag;
byte anzahlTickets;
System.out.print("Ticketpreis (EURO): ");
zuZahlenderBetrag = tastatur.nextFloat();
System.out.print("Anzahl der Tickets: ");
anzahlTickets = tastatur.nextByte();
zuZahlenderBetrag = anzahlTickets * zuZahlenderBetrag;
return zuZahlenderBetrag;
}
public static float fahrkartenBezahlen(float zuZahlenderBetrag) {
Scanner tastatur = new Scanner(System.in);
// Geldeinwurf
// -----------
float eingezahlterGesamtbetrag = 0;
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
{
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
float eingeworfeneMünze = tastatur.nextFloat();
eingezahlterGesamtbetrag += eingeworfeneMünze;
}
// Rückgeldberechnung
float rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
return rueckgabebetrag;
}
public static void fahrkartenAusgeben () {
// Fahrscheinausgabe
// -----------------
System.out.println("\nFahrschein wird ausgegeben");
for (int i = 0; i < 8; i++)
{
System.out.print("=");
try {
Thread.sleep(250);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("\n\n");
}
public static void rueckgeldAusgeben(float rückgabebetrag) {
// Rückgeldausgabe
// ------------------------------
if(rückgabebetrag > 0.0)
{
System.out.printf("Der Rückgabebetrag in Höhe von %.2f EURO \n", rückgabebetrag);
System.out.println("wird in folgenden Münzen ausgezahlt:");
while(rückgabebetrag >= 2.0) // 2 EURO-Münzen
{
System.out.println("2 EURO");
rückgabebetrag -= 2.0;
}
while(rückgabebetrag >= 1.0) // 1 EURO-Münzen
{
System.out.println("1 EURO");
rückgabebetrag -= 1.0;
}
while(rückgabebetrag >= 0.5) // 50 CENT-Münzen
{
System.out.println("50 CENT");
rückgabebetrag -= 0.5;
}
while(rückgabebetrag >= 0.2) // 20 CENT-Münzen
{
System.out.println("20 CENT");
rückgabebetrag -= 0.2;
}
while(rückgabebetrag >= 0.1) // 10 CENT-Münzen
{
System.out.println("10 CENT");
rückgabebetrag -= 0.1;
}
while(rückgabebetrag >= 0.05)// 5 CENT-Münzen
{
System.out.println("5 CENT");
rückgabebetrag -= 0.05;
}
}
}
public static void main(String[] args)
{
Scanner tastatur = new Scanner(System.in);
float zuZahlenderBetrag;
float eingezahlterGesamtbetrag;
float eingeworfeneMünze;
float rückgabebetrag;
byte anzahlTickets;
float rueckgabebetrag;
System.out.print("Ticketpreis (EURO-Cent): ");
zuZahlenderBetrag = tastatur.nextFloat();
System.out.print("Anzahl der Tickets: ");
anzahlTickets = tastatur.nextByte();
zuZahlenderBetrag = anzahlTickets * zuZahlenderBetrag;
// Geldeinwurf
// -----------
eingezahlterGesamtbetrag = 0;
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
{
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
eingeworfeneMünze = tastatur.nextFloat();
eingezahlterGesamtbetrag += eingeworfeneMünze;
}
// Fahrscheinausgabe
// -----------------
System.out.println("\nFahrschein wird ausgegeben");
for (int i = 0; i < 8; i++)
{
System.out.print("=");
try {
Thread.sleep(250);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("\n\n");
// Rückgeldberechnung und -Ausgabe
// -------------------------------
rückgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
if(rückgabebetrag > 0.0)
{
System.out.printf("Der Rückgabebetrag in Höhe von %.2f EURO \n", rückgabebetrag);
System.out.println("wird in folgenden Münzen ausgezahlt:");
while(rückgabebetrag >= 2.0) // 2 EURO-Münzen
{
System.out.println("2 EURO");
rückgabebetrag -= 2.0;
}
while(rückgabebetrag >= 1.0) // 1 EURO-Münzen
{
System.out.println("1 EURO");
rückgabebetrag -= 1.0;
}
while(rückgabebetrag >= 0.5) // 50 CENT-Münzen
{
System.out.println("50 CENT");
rückgabebetrag -= 0.5;
}
while(rückgabebetrag >= 0.2) // 20 CENT-Münzen
{
System.out.println("20 CENT");
rückgabebetrag -= 0.2;
}
while(rückgabebetrag >= 0.1) // 10 CENT-Münzen
{
System.out.println(rückgabebetrag);
System.out.println("10 CENT");
rückgabebetrag -= 0.1;
}
while(rückgabebetrag >= 0.05)// 5 CENT-Münzen
{
System.out.println(rückgabebetrag);
System.out.println("5 CENT");
rückgabebetrag -= 0.05;
}
}
zuZahlenderBetrag = fahrkartenbestellungErfassen();
rueckgabebetrag = fahrkartenBezahlen(zuZahlenderBetrag);
fahrkartenAusgeben();
rueckgeldAusgeben(rueckgabebetrag);
System.out.println("\nVergessen Sie nicht, den Fahrschein\n"+
"vor Fahrtantritt entwerten zu lassen!\n"+