Auslagerung in Methoden
This commit is contained in:
@@ -2,91 +2,107 @@
|
|||||||
|
|
||||||
class Fahrkartenautomat
|
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)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
Scanner tastatur = new Scanner(System.in);
|
|
||||||
|
|
||||||
float zuZahlenderBetrag;
|
float zuZahlenderBetrag;
|
||||||
float eingezahlterGesamtbetrag;
|
float rueckgabebetrag;
|
||||||
float eingeworfeneMünze;
|
|
||||||
float rückgabebetrag;
|
|
||||||
byte anzahlTickets;
|
|
||||||
|
|
||||||
System.out.print("Ticketpreis (EURO-Cent): ");
|
zuZahlenderBetrag = fahrkartenbestellungErfassen();
|
||||||
zuZahlenderBetrag = tastatur.nextFloat();
|
rueckgabebetrag = fahrkartenBezahlen(zuZahlenderBetrag);
|
||||||
|
fahrkartenAusgeben();
|
||||||
System.out.print("Anzahl der Tickets: ");
|
rueckgeldAusgeben(rueckgabebetrag);
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("\nVergessen Sie nicht, den Fahrschein\n"+
|
System.out.println("\nVergessen Sie nicht, den Fahrschein\n"+
|
||||||
"vor Fahrtantritt entwerten zu lassen!\n"+
|
"vor Fahrtantritt entwerten zu lassen!\n"+
|
||||||
|
|||||||
Reference in New Issue
Block a user