69 lines
1.3 KiB
Plaintext
69 lines
1.3 KiB
Plaintext
|
public static void parkgebuehrenBerechnen(Date d1, Date d2, String kennzeichenEingabe) {
|
||
|
|
||
|
if (d1.getTime() > d2.getTime()) {
|
||
|
System.out.println("Die Ausfahrtszeit, kann nicht vor der Einfahrtszeit liegen! ");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Variablen deklarieren
|
||
|
Gebuehren = 0;
|
||
|
int GebuehrenNacht = 0;
|
||
|
int GebuehrenTag = 0;
|
||
|
|
||
|
// Sekunden ausrechnen zwischen Einfahrtszeit und Ausfahrtszeit
|
||
|
long secDiff = (d2.getTime() - d1.getTime()) / 1000;
|
||
|
|
||
|
// Sekunden in Minuten umrechnen
|
||
|
long minuten = secDiff / 60;
|
||
|
|
||
|
if (minuten <= 15) {
|
||
|
System.out.println("Die Parkgebühr ist kostenlos :)");
|
||
|
System.out.println();
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Minuten in Stunden umrechnen
|
||
|
long gesamtStunden = minuten / 60;
|
||
|
|
||
|
// Einfahrtsstunde
|
||
|
int startStunde = d1.getHours();
|
||
|
|
||
|
// Schleife iteriert die gesamtStunden entlang
|
||
|
for (int i = 0; i <= gesamtStunden; i++) {
|
||
|
|
||
|
// aktuelleStunde herausfinden
|
||
|
int aktuelleStunde = (startStunde + i) % 24;
|
||
|
|
||
|
|
||
|
GebuehrenTag += 1;
|
||
|
if ((GebuehrenTag) >= 15) {
|
||
|
Gebuehren += 15;
|
||
|
GebuehrenTag = 0;
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
// Taggebühren + Nachtgebühren zusammenrechnen
|
||
|
Gebuehren += (GebuehrenTag + GebuehrenNacht);
|
||
|
|
||
|
// Falls E-Auto dann 20% Rabatt
|
||
|
if (kennzeichenEingabe.endsWith("E")) {
|
||
|
|
||
|
|
||
|
|
||
|
Gebuehren *= 0.8;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
System.out.println("Die Parkgebühr beträgt: " + Gebuehren + " Euro.");
|
||
|
|
||
|
}
|