wieder das Berechnen des Preises
parent
07a48dba0d
commit
8c32155f6d
|
@ -17,9 +17,9 @@ public class Main {
|
|||
var sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
|
||||
sdf.setLenient(false);
|
||||
|
||||
Auto test = new Auto("123E");
|
||||
test.setEinfahrtZeit("10.10.2000, 05:00");
|
||||
test.setAusfahrtZeit("11.10.2000, 13:00");
|
||||
Auto test = new Auto("123");
|
||||
test.setEinfahrtZeit("10.10.2000, 04:00");
|
||||
test.setAusfahrtZeit("10.10.2000, 10:30");
|
||||
System.out.println(parkhaus.berechnePreis(test));
|
||||
|
||||
while (schleife) {
|
||||
|
|
|
@ -109,36 +109,65 @@ public class Parkhaus {
|
|||
}
|
||||
|
||||
long kostenpflichtigeMinuten = parkdauerInMinuten - FREIE_MINUTEN;
|
||||
double kostenPflichtigeStunden = Math.ceil(kostenpflichtigeMinuten / 60);
|
||||
double kostenPflichtigeStunden = Math.ceil(((double)kostenpflichtigeMinuten / 60));
|
||||
|
||||
long parkdauerInTagen = (long) Math.ceil(parkdauerInMinuten / (60.0 * 24));
|
||||
|
||||
|
||||
if (parkdauerInTagen >= 1) {
|
||||
long kostenpflichtigeGanzeTage = (long) Math.floor(kostenPflichtigeStunden / 24);
|
||||
preis = kostenpflichtigeGanzeTage * TAGES_MAX_PREIS;
|
||||
long übrigenStunden = (long) (kostenPflichtigeStunden - kostenpflichtigeGanzeTage * 24);
|
||||
if (übrigenStunden <= 5) {
|
||||
preis = preis + (übrigenStunden * ANGEFANGENE_STUNDE_PREIS);
|
||||
} else if (einfahrtStunde >= 20) {
|
||||
long stundenImAltenTag = (einfahrtStunde + übrigenStunden) - 24;
|
||||
long stundenImNeuenTag = übrigenStunden - stundenImAltenTag;
|
||||
if (stundenImNeuenTag <= 5) {
|
||||
preis += 5;
|
||||
} else {
|
||||
preis += 5 + stundenImNeuenTag - 5;
|
||||
}
|
||||
if (kostenpflichtigeGanzeTage >= 1) {
|
||||
|
||||
} else if (einfahrtStunde <= 5) {
|
||||
long angebrocheneStundenAusserhalbDerNacht = (long) 6 - einfahrtStunde;
|
||||
long übrigeStundenAusserhalb = (long) Math.abs(einfahrtStunde - 6);
|
||||
if (angebrocheneStundenAusserhalbDerNacht == 6) {
|
||||
preis += 5;
|
||||
} else {
|
||||
preis += 5 + übrigeStundenAusserhalb;
|
||||
preis = kostenpflichtigeGanzeTage * TAGES_MAX_PREIS;
|
||||
long übrigenStunden = (long) (kostenPflichtigeStunden - kostenpflichtigeGanzeTage * 24);
|
||||
if (übrigenStunden <= 5) {
|
||||
preis = preis + (übrigenStunden * ANGEFANGENE_STUNDE_PREIS);
|
||||
} else if (einfahrtStunde >= 20) {
|
||||
long stundenImAltenTag = (einfahrtStunde + übrigenStunden) - 24;
|
||||
long stundenImNeuenTag = übrigenStunden - stundenImAltenTag;
|
||||
if (stundenImNeuenTag <= 5) {
|
||||
preis += 5;
|
||||
} else {
|
||||
preis += 5 + stundenImNeuenTag - 5;
|
||||
}
|
||||
|
||||
} else if (einfahrtStunde <= 5) {
|
||||
long angebrocheneStundenAusserhalbDerNacht = (long) 6 - einfahrtStunde;
|
||||
long übrigeStundenAusserhalb = übrigenStunden - einfahrtStunde;
|
||||
if (angebrocheneStundenAusserhalbDerNacht == 6) {
|
||||
preis += 5;
|
||||
} else {
|
||||
preis += 5 + übrigeStundenAusserhalb;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
||||
long übrigenStunden = (long) (kostenPflichtigeStunden - kostenpflichtigeGanzeTage * 24);
|
||||
if (übrigenStunden <= 5) {
|
||||
preis = preis + (übrigenStunden * ANGEFANGENE_STUNDE_PREIS);
|
||||
} else if (einfahrtStunde >= 20) {
|
||||
long stundenImAltenTag = (einfahrtStunde + übrigenStunden) - 24;
|
||||
long stundenImNeuenTag = übrigenStunden - stundenImAltenTag;
|
||||
if (stundenImNeuenTag <= 5) {
|
||||
preis += 5;
|
||||
} else {
|
||||
preis += 5 + stundenImNeuenTag - 5;
|
||||
preis = preis > 15 ? 15 : preis;
|
||||
}
|
||||
|
||||
} else if (einfahrtStunde <= 5) {
|
||||
long angebrocheneStundenAusserhalbDerNacht = (long) 6 - einfahrtStunde;
|
||||
long übrigeStundenAusserhalb = übrigenStunden ;
|
||||
if (angebrocheneStundenAusserhalbDerNacht == 6) {
|
||||
preis += 5 + übrigeStundenAusserhalb - 6;
|
||||
} else {
|
||||
preis += übrigeStundenAusserhalb;
|
||||
preis = preis > 15 ? 15 : preis;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (auto.iseAuto()) {
|
||||
preis = preis * E_AUTO_RABATT;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue