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 org.example.ticketobjekt.parkticket;
|
||||||
|
|
||||||
|
import java.sql.Time;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -22,6 +23,10 @@ public class bezahlen {
|
||||||
Date ausfartzeit = zeitstempelEingabe.isEmpty() ? new Date() : timeformat.parse(zeitstempelEingabe);
|
Date ausfartzeit = zeitstempelEingabe.isEmpty() ? new Date() : timeformat.parse(zeitstempelEingabe);
|
||||||
double gebuhren=gebühren(p.getEinfahtzeit(),ausfartzeit);
|
double gebuhren=gebühren(p.getEinfahtzeit(),ausfartzeit);
|
||||||
|
|
||||||
|
//nachgabe
|
||||||
|
if (p.getNummerschild().endsWith("E"))gebuhren*=0.80;
|
||||||
|
|
||||||
|
//gratis
|
||||||
if(gebuhren<1){
|
if(gebuhren<1){
|
||||||
System.out.println("Sie dürfen gratis rausfahren, viel spaß!");
|
System.out.println("Sie dürfen gratis rausfahren, viel spaß!");
|
||||||
tiketliste.remove(p);
|
tiketliste.remove(p);
|
||||||
|
@ -43,16 +48,39 @@ public class bezahlen {
|
||||||
|
|
||||||
public static double gebühren(Date einfahrt, Date ausfahrt){
|
public static double gebühren(Date einfahrt, Date ausfahrt){
|
||||||
long diffinmin= (ausfahrt.getTime()- einfahrt.getTime())/(1000*60);
|
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);
|
while (Stundendiff > 0) {
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.setTime(einfahrt);
|
|
||||||
|
|
||||||
if (calendar.get(Calendar.HOUR_OF_DAY) >= 20 || calendar.get(Calendar.HOUR_OF_DAY) < 6) {
|
if(Stunden<20 || Stunden>6){
|
||||||
geburen = Math.min(geburen, 5);
|
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) {
|
private static boolean istVisaGueltig(String kreditkarte) {
|
||||||
|
|
Loading…
Reference in New Issue