addad einfahrt und ausfahrt methods in the parkhaus class in main

main
Berat 2024-10-06 11:50:03 +02:00
parent 3abbc0d227
commit e71d2e007e
2 changed files with 41 additions and 31 deletions

View File

@ -6,13 +6,11 @@ import java.time.temporal.*;
import java.util.Date; import java.util.Date;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
} }
class Auto { class Auto {
private String kennzeichen; private String kennzeichen;
private LocalDateTime einfahrtUhrzeit; private LocalDateTime einfahrtUhrzeit;
@ -26,22 +24,9 @@ public class Main {
this.schulden = 0; this.schulden = 0;
this.eAuto = kennzeichen.endsWith("E"); this.eAuto = kennzeichen.endsWith("E");
} }
public String kennzeichenEingabe() {
return kennzeichen;
}
public LocalDateTime einfahrtsZeit() {
return einfahrtUhrzeit;
}
public double offeneSchuld() {
return schulden;
}
} }
class Parkhaus { class Parkhaus {
private final int maxParkplaetze = 180; private final int maxParkplaetze = 180;
private List<Auto> geparkteAutos; private List<Auto> geparkteAutos;
@ -50,19 +35,14 @@ public class Main {
this.geparkteAutos = new ArrayList<>(); this.geparkteAutos = new ArrayList<>();
} }
public boolean einfahrt(String kennzeichen, LocalDateTime urhzeit) { public void einfahrt(String kennzeichen, LocalDateTime uhrzeit) {
if(geparkteAutos.size() >= maxParkplaetze) { System.out.println("Freie Plätze: " + geparkteAutos.size() + "");
System.out.println("PArkhaus ist voll!"); geparkteAutos.add(new Auto(kennzeichen, uhrzeit));
return false;
}
geparkteAutos.add(new Auto(kennzeichen, zeit));
return true;
} }
private Auto findeAuto(String kennzeichen) { private Auto findeAuto(String kennzeichen) {
for (Auto a : geparkteAutos) { for (Auto a : geparkteAutos) {
if(a.kennzeichenEingabe().equals(kennzeichen)) { if(a.equals(kennzeichen)) {
return a; return a;
} }
} }
@ -75,9 +55,39 @@ public class Main {
System.out.println("Auto nicht im Parkhaus!"); System.out.println("Auto nicht im Parkhaus!");
return; return;
} }
geparkteAutos.remove(a);
} }
} }
class Nichtzahler {
private String kennzeichen;
private double schuld;
public Nichtzahler(String kennzeichen, double schuld) {
this.kennzeichen = kennzeichen;
this.schuld = schuld;
}
public void ausfahrt(String kennzeichen, LocalDateTime zeit) {
}
public void zahlung(String kennzeichen, String kreditkarte, LocalDateTime zeit) {
}

View File

@ -32,7 +32,7 @@ public class TUI extends Main{
case 2: case 2:
String kennzeichenAus = kennzeichenEingabe(); String kennzeichenAus = kennzeichenEingabe();
LocalDateTime ausfahrtsZeit = zeitEingabe(); LocalDateTime ausfahrtsZeit = zeitEingabe();
Main.ausfahrt(kennzeichenAus, einfahrtsZeit); Main.ausfahrt(kennzeichenAus, ausfahrtsZeit);
System.out.println("Kennzeichen " + kennzeichenAus + " ausgefahren um " + ausfahrtsZeit); System.out.println("Kennzeichen " + kennzeichenAus + " ausgefahren um " + ausfahrtsZeit);
break; break;
case 3: case 3:
@ -54,11 +54,11 @@ public class TUI extends Main{
public static LocalDateTime zeitEingabe() { public static LocalDateTime zeitEingabe() {
System.out.print("Geben Sie die Uhrzeit ein (DD.MM.YYYY HH:MM): "); System.out.print("Geben Sie die Uhrzeit ein (DD.MM.YYYY HH:MM): ");
String einfahrtEingabe = sc.nextLine(); String uhrzeitEingabe = sc.nextLine();
if (einfahrtEingabe.trim().isEmpty()) { if (uhrzeitEingabe.trim().isEmpty()) {
return LocalDateTime.now(); return LocalDateTime.now();
} }
return LocalDateTime.parse(einfahrtEingabe, DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm")); return LocalDateTime.parse(uhrzeitEingabe, DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"));
} }
private static String[] zahlungStart() { private static String[] zahlungStart() {
@ -66,7 +66,7 @@ public class TUI extends Main{
LocalDateTime bezahlZeit = zeitEingabe(); LocalDateTime bezahlZeit = zeitEingabe();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm");
String zeitAlsString = bezahlZeit.format(formatter); String zeitAlsString = bezahlZeit.format(formatter);
System.out.println("Kreditkartennummer: "); System.out.print("Kreditkartennummer: ");
String kreditkartennummer = sc.nextLine(); String kreditkartennummer = sc.nextLine();
String[] zahlungsDaten = {kennzeichenZahlung, zeitAlsString, kreditkartennummer}; String[] zahlungsDaten = {kennzeichenZahlung, zeitAlsString, kreditkartennummer};
return zahlungsDaten; return zahlungsDaten;