104 lines
2.8 KiB
Plaintext
104 lines
2.8 KiB
Plaintext
|
package ph;
|
||
|
import java.text.ParseException;
|
||
|
import java.text.SimpleDateFormat;
|
||
|
import java.util.Date;
|
||
|
import java.util.Scanner;
|
||
|
public class TUI {
|
||
|
public static void main(String[] args) throws ParseException, InterruptedException {
|
||
|
Scanner scanner=new Scanner(System.in);
|
||
|
System.out.println("Ich nehme als Beispiel an, dass es 180 freie Plätze gibt");
|
||
|
boolean run =true;
|
||
|
System.out.print("Einfahrt(dd.MM.yyyy,HH:mm): ");
|
||
|
String Einfahrt=scanner.nextLine();
|
||
|
System.out.print("Ausfahrt(dd.MM.yyyy,HH:mm): ");
|
||
|
String Ausfahrt=scanner.nextLine();
|
||
|
Date einfahrt=mainZeitformat(Einfahrt);
|
||
|
Date ausfahrt=mainZeitformat(Ausfahrt);
|
||
|
System.out.println("Geben Sie ihr Kennzeichen ein");
|
||
|
String kz=scanner.nextLine();
|
||
|
AUTO time=new AUTO(kz,180,0.0,einfahrt,ausfahrt);
|
||
|
while(run) {
|
||
|
System.out.println("Parkhaus");
|
||
|
System.out.println("1. Einfahren.");
|
||
|
System.out.println("2. Ausfahren.");
|
||
|
System.out.println("3. Zahlen.");
|
||
|
System.out.println("4. Parksimulator.");
|
||
|
System.out.println("5. Beenden");
|
||
|
int wahl=scanner.nextInt();
|
||
|
scanner.nextLine();
|
||
|
if(wahl<0 && wahl>5) {
|
||
|
System.err.println("Falsche Eingabe.");
|
||
|
}
|
||
|
switch(wahl){
|
||
|
case 1:{
|
||
|
time.einfahren();
|
||
|
System.out.println("Einen schönen Tag noch.");
|
||
|
break;
|
||
|
}
|
||
|
case 2:{
|
||
|
time.ausfahren();
|
||
|
break;
|
||
|
}
|
||
|
case 3:{
|
||
|
System.out.println("Geben Sie eine VISA Kartennummer ein");
|
||
|
String visa=scanner.nextLine();
|
||
|
time.cardlength(visa);
|
||
|
time.validCard(visa);
|
||
|
time.pay();
|
||
|
System.out.println("Dankeschön");
|
||
|
break;
|
||
|
}
|
||
|
case 4:{
|
||
|
System.out.println("Geben Sie Einfahrt und Ausfahrt ein");
|
||
|
System.out.print("Einfahrt: ");
|
||
|
String simulate1=scanner.nextLine();
|
||
|
System.out.print("Ausfahrt: ");
|
||
|
String simulate2=scanner.nextLine();
|
||
|
Date simein=time.Zeitformat(simulate1);
|
||
|
Date simaus=time.Zeitformat(simulate2);
|
||
|
AUTO simulate=new AUTO(simein,simaus);
|
||
|
System.out.println("Ist ihr Auto ein E-Auto (j/n)");
|
||
|
String jn=scanner.nextLine();
|
||
|
boolean eAuto;
|
||
|
if(jn.equals("j")) {
|
||
|
eAuto=true;
|
||
|
}else {
|
||
|
eAuto=false;
|
||
|
}
|
||
|
double kosten=simulate.parkgebuehren(eAuto);
|
||
|
System.out.println("Kosten: "+kosten);
|
||
|
break;
|
||
|
}
|
||
|
case 5:{
|
||
|
System.out.println("Und Tschüss");
|
||
|
run=false;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
scanner.close();
|
||
|
}
|
||
|
public static Date mainZeitformat(String datum) throws ParseException {
|
||
|
if (datum.isEmpty()) {
|
||
|
Date aktuellesDatum = new Date();
|
||
|
System.out.println("Aktuelles Datum: " + aktuellesDatum);
|
||
|
return aktuellesDatum;
|
||
|
}
|
||
|
|
||
|
|
||
|
String pattern = "dd.MM.yyyy,HH:mm";
|
||
|
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
|
||
|
|
||
|
try {
|
||
|
Date formatiertesDatum = sdf.parse(datum);
|
||
|
return formatiertesDatum;
|
||
|
} catch (ParseException e) {
|
||
|
|
||
|
System.err.println("Ungültiges Datumsformat. Bitte verwenden Sie das Format");
|
||
|
return new Date();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|