erneute Korrektur falscher Rückgeldbetrag + 2 weitere Methoden
This commit is contained in:
@@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
class Fahrkartenautomat
|
class Fahrkartenautomat
|
||||||
{
|
{
|
||||||
public static float fahrkartenbestellungErfassen (){
|
public static double fahrkartenbestellungErfassen (){
|
||||||
Scanner tastatur = new Scanner(System.in);
|
Scanner tastatur = new Scanner(System.in);
|
||||||
|
|
||||||
float zuZahlenderBetrag;
|
double zuZahlenderBetrag;
|
||||||
byte anzahlTickets;
|
byte anzahlTickets;
|
||||||
|
|
||||||
System.out.print("Ticketpreis (EURO): ");
|
System.out.print("Ticketpreis (EURO): ");
|
||||||
zuZahlenderBetrag = tastatur.nextFloat();
|
zuZahlenderBetrag = tastatur.nextDouble();
|
||||||
|
|
||||||
System.out.print("Anzahl der Tickets: ");
|
System.out.print("Anzahl der Tickets: ");
|
||||||
anzahlTickets = tastatur.nextByte();
|
anzahlTickets = tastatur.nextByte();
|
||||||
@@ -19,20 +19,20 @@ class Fahrkartenautomat
|
|||||||
return zuZahlenderBetrag;
|
return zuZahlenderBetrag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float fahrkartenBezahlen(float zuZahlenderBetrag) {
|
public static double fahrkartenBezahlen(double zuZahlenderBetrag) {
|
||||||
Scanner tastatur = new Scanner(System.in);
|
Scanner tastatur = new Scanner(System.in);
|
||||||
// Geldeinwurf
|
// Geldeinwurf
|
||||||
// -----------
|
// -----------
|
||||||
float eingezahlterGesamtbetrag = 0;
|
double eingezahlterGesamtbetrag = 0;
|
||||||
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
|
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
|
||||||
{
|
{
|
||||||
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
|
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
|
||||||
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
|
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
|
||||||
float eingeworfeneMünze = tastatur.nextFloat();
|
double eingeworfeneMünze = tastatur.nextDouble();
|
||||||
eingezahlterGesamtbetrag += eingeworfeneMünze;
|
eingezahlterGesamtbetrag += eingeworfeneMünze;
|
||||||
}
|
}
|
||||||
// Rückgeldberechnung
|
// Rückgeldberechnung
|
||||||
float rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
|
double rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
|
||||||
return rueckgabebetrag;
|
return rueckgabebetrag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,17 +43,12 @@ class Fahrkartenautomat
|
|||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
{
|
{
|
||||||
System.out.print("=");
|
System.out.print("=");
|
||||||
try {
|
warte(250);
|
||||||
Thread.sleep(250);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
System.out.println("\n\n");
|
System.out.println("\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void rueckgeldAusgeben(float rückgabebetrag) {
|
public static void rueckgeldAusgeben(double rückgabebetrag) {
|
||||||
// Rückgeldausgabe
|
// Rückgeldausgabe
|
||||||
// ------------------------------
|
// ------------------------------
|
||||||
if(rückgabebetrag > 0.0)
|
if(rückgabebetrag > 0.0)
|
||||||
@@ -61,43 +56,56 @@ class Fahrkartenautomat
|
|||||||
System.out.printf("Der Rückgabebetrag in Höhe von %.2f EURO \n", rückgabebetrag);
|
System.out.printf("Der Rückgabebetrag in Höhe von %.2f EURO \n", rückgabebetrag);
|
||||||
System.out.println("wird in folgenden Münzen ausgezahlt:");
|
System.out.println("wird in folgenden Münzen ausgezahlt:");
|
||||||
|
|
||||||
while(rückgabebetrag >= 2.0) // 2 EURO-Münzen
|
while(rückgabebetrag > 1.9) // 2 EURO-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("2 EURO");
|
muenzeAusgeben(2, "EURO");
|
||||||
rückgabebetrag -= 2.0;
|
rückgabebetrag -= 2.0;
|
||||||
}
|
}
|
||||||
while(rückgabebetrag >= 1.0) // 1 EURO-Münzen
|
while(rückgabebetrag > 0.9) // 1 EURO-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("1 EURO");
|
muenzeAusgeben(1, "EURO");
|
||||||
rückgabebetrag -= 1.0;
|
rückgabebetrag -= 1.0;
|
||||||
}
|
}
|
||||||
while(rückgabebetrag >= 0.5) // 50 CENT-Münzen
|
while(rückgabebetrag > 0.49) // 50 CENT-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("50 CENT");
|
muenzeAusgeben(50, "CENT");
|
||||||
rückgabebetrag -= 0.5;
|
rückgabebetrag -= 0.5;
|
||||||
}
|
}
|
||||||
while(rückgabebetrag >= 0.2) // 20 CENT-Münzen
|
while(rückgabebetrag > 0.19) // 20 CENT-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("20 CENT");
|
muenzeAusgeben(20, "CENT");
|
||||||
rückgabebetrag -= 0.2;
|
rückgabebetrag -= 0.2;
|
||||||
}
|
}
|
||||||
while(rückgabebetrag >= 0.1) // 10 CENT-Münzen
|
while(rückgabebetrag > 0.09) // 10 CENT-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("10 CENT");
|
muenzeAusgeben(10, "CENT");
|
||||||
rückgabebetrag -= 0.1;
|
rückgabebetrag -= 0.1;
|
||||||
}
|
}
|
||||||
while(rückgabebetrag >= 0.05)// 5 CENT-Münzen
|
while(rückgabebetrag > 0.049)// 5 CENT-Münzen
|
||||||
{
|
{
|
||||||
System.out.println("5 CENT");
|
muenzeAusgeben(5, "CENT");
|
||||||
rückgabebetrag -= 0.05;
|
rückgabebetrag -= 0.05;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void warte(int millisekunde) {
|
||||||
|
try {
|
||||||
|
Thread.sleep(millisekunde);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void muenzeAusgeben(int betrag, String einheit) {
|
||||||
|
System.out.println(betrag + " " + einheit);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
float zuZahlenderBetrag;
|
double zuZahlenderBetrag;
|
||||||
float rueckgabebetrag;
|
double rueckgabebetrag;
|
||||||
|
|
||||||
zuZahlenderBetrag = fahrkartenbestellungErfassen();
|
zuZahlenderBetrag = fahrkartenbestellungErfassen();
|
||||||
rueckgabebetrag = fahrkartenBezahlen(zuZahlenderBetrag);
|
rueckgabebetrag = fahrkartenBezahlen(zuZahlenderBetrag);
|
||||||
|
|||||||
Reference in New Issue
Block a user