Korrektur des Codes. Berechnung nach mehreren Tests nun möglich. Muss noch auf korrektheit geprüft werden

main
Leon Maximilian Löhle 2024-10-03 13:46:58 +02:00
parent a0da70b766
commit 76141da3f1
2 changed files with 25 additions and 13 deletions

View File

@ -20,10 +20,12 @@ public class Main {
System.out.println("3. Bezahlen und ausfahren");
System.out.println("4. Beenden");
int auswahl = sc.nextInt();
sc.nextLine();
if (auswahl == 4) {
System.out.println("Das Programm wird nun beendet.");
System.out.println("Wir wünschen Ihnen noch einen schönen Tag");
break;
}
@ -47,11 +49,12 @@ public class Main {
System.out.println("Keine Auto gefunden mit diesem Kennzeichen gefunden.");
}
else {
System.out.println("Zu welcher Uhrzeit wurde ausgefahren? :");
System.out.println("Wann sind Sie aus dem Parkhaus ausgefahren. Bitte im Format TT.MM.JJJJ SS:MM");
String ausfahrtEingabe = sc.nextLine();
Date ausfahrtZeit = sdf.parse(ausfahrtEingabe);
parkhaus.berechneParkKosten(auto);
parkhaus.ausfahrt(auto , ausfahrtZeit);
double kosten = parkhaus.berechneParkKosten(auto, ausfahrtZeit);
auto.setSchulden(auto.getSchulden() + kosten);
parkhaus.ausfahrt(kennzeichenAusfahrt , ausfahrtZeit);
}
break;
@ -63,11 +66,12 @@ public class Main {
System.out.println("Keine Auto gefunden mit diesem Kennzeichen gefunden.");
}
else {
System.out.println("Was ist die aktuelle Uhrzeit zu der Sie bezahlen");
System.out.println("Wann bezahlen Sie? Bitte im Format TT.MM.JJJJ SS:MM ");
String bezahltEingabe = sc.nextLine();
Date bezahltZeit = sdf.parse(bezahltEingabe);
System.out.println(parkhaus.berechneParkKosten(auto));
parkhaus.ausfahrt(auto , bezahltZeit);
System.out.println(parkhaus.berechneParkKosten(auto, bezahltZeit));
parkhaus.ausfahrt(kennzeichenBezahlt , bezahltZeit);
auto.setSchulden(0);
}
break;
@ -77,5 +81,6 @@ public class Main {
break;
}
}
sc.close();
}
}

View File

@ -72,22 +72,29 @@ public class Parkhaus {
return;
}
auto.setAusfahrtZeit(ausfahrtZeit);
double kosten = berechneParkKosten(auto);
double kosten = berechneParkKosten(auto, ausfahrtZeit);
System.out.println("Die Koste für das Fahrzeug mit dem eingegebenen Kennzeichen " + kennzeichen + "betragen:");
System.out.println(kosten);
autos.remove(auto);
platz += 1;
}
public double berechneParkKosten(Auto auto) {
public double berechneParkKosten(Auto auto, Date ausfahrtZeit) {
Date einfahrtZeit = auto.getEinfahrtZeit();
Date ausfahrtZeit = auto.getAusfahrtZeit();
int einFahrtStunde = auto.getEinfahrtZeit().getHours();
int ausFahrtStunde = auto.getAusfahrtZeit().getHours();
long parkDauerMinuten = (auto.getAusfahrtZeit().getTime() - auto.getEinfahrtZeit().getTime());
if(einfahrtZeit == null || ausfahrtZeit == null) {
System.out.println("Es wurde keine Ein- oder ausfahrtzeit gesetzt");
}
long parkDauerMinuten = (ausfahrtZeit.getTime() - einfahrtZeit.getTime())/(1000*60);
double kosten = 0;
if (einFahrtStunde >= 20 || ausFahrtStunde <= 06) {
if(parkDauerMinuten < 0){
System.out.println("Diese Eingaben sind nicht möglich");
}
int einFahrtStunde = einfahrtZeit.getHours();
int ausFahrtStunde = ausfahrtZeit.getHours();
if (einFahrtStunde >= 20 || ausFahrtStunde <= 6) {
if (parkDauerMinuten <= 15) {
return 0;
}