tryed math faild very mutch but finished code hopfully
parent
167f156e38
commit
9ca10f362e
|
@ -0,0 +1,3 @@
|
|||
1. Ui schreiben mit auswahlmöglichkeiten zum reinfahren, bezahlen rausfahren und beenden
|
||||
2. Einzelne unterclassen erstellen um die optionen zu ermöglichen
|
||||
3. Unterclassen classen erstellen um einzelne funktionen zu vereinfachen und abzukürzen
|
|
@ -2,6 +2,7 @@ package org.example.optionen;
|
|||
|
||||
import org.example.ticketobjekt.parkticket;
|
||||
|
||||
import java.sql.Time;
|
||||
import java.text.ParseException;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
@ -22,6 +23,10 @@ public class bezahlen {
|
|||
Date ausfartzeit = zeitstempelEingabe.isEmpty() ? new Date() : timeformat.parse(zeitstempelEingabe);
|
||||
double gebuhren=gebühren(p.getEinfahtzeit(),ausfartzeit);
|
||||
|
||||
//nachgabe
|
||||
if (p.getNummerschild().endsWith("E"))gebuhren*=0.80;
|
||||
|
||||
//gratis
|
||||
if(gebuhren<1){
|
||||
System.out.println("Sie dürfen gratis rausfahren, viel spaß!");
|
||||
tiketliste.remove(p);
|
||||
|
@ -43,16 +48,39 @@ public class bezahlen {
|
|||
|
||||
public static double gebühren(Date einfahrt, Date ausfahrt){
|
||||
long diffinmin= (ausfahrt.getTime()- einfahrt.getTime())/(1000*60);
|
||||
if(diffinmin<=15)return 0.0;
|
||||
if(diffinmin<=15)return 0;
|
||||
diffinmin-=15;
|
||||
int Stundendiff= (int) (diffinmin/60);
|
||||
double kosten=0;
|
||||
int Stunden=einfahrt.getHours();
|
||||
|
||||
double geburen= (int) ((diffinmin-15)/60);
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(einfahrt);
|
||||
while (Stundendiff > 0) {
|
||||
|
||||
if (calendar.get(Calendar.HOUR_OF_DAY) >= 20 || calendar.get(Calendar.HOUR_OF_DAY) < 6) {
|
||||
geburen = Math.min(geburen, 5);
|
||||
if(Stunden<20 || Stunden>6){
|
||||
if(Stundendiff>=10){
|
||||
Stundendiff-=10;
|
||||
Stunden=6;
|
||||
kosten+=5;
|
||||
} else {
|
||||
kosten+= Stundendiff>5 ? 5 : Stundendiff;
|
||||
Stundendiff=0;
|
||||
}
|
||||
return geburen;
|
||||
} else {
|
||||
Stundendiff--;
|
||||
kosten++;
|
||||
Stunden++;
|
||||
}
|
||||
}
|
||||
|
||||
int tage=1;
|
||||
Stundendiff=((int) (diffinmin/60))-24;
|
||||
while (Stundendiff>24){
|
||||
Stundendiff-=24;
|
||||
tage++;
|
||||
}
|
||||
kosten=Math.min(kosten, 15*(tage));
|
||||
|
||||
return kosten;
|
||||
}
|
||||
|
||||
private static boolean istVisaGueltig(String kreditkarte) {
|
||||
|
|
Loading…
Reference in New Issue