2024-10-08 14:09:49 +02:00
|
|
|
import java.util.ArrayList;
|
2024-10-08 14:58:40 +02:00
|
|
|
import java.time.LocalDateTime;
|
2024-10-08 14:09:49 +02:00
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
class Parkhaus {
|
|
|
|
private int aktuelleAutoAnzahl = 0; // Zählt die aktuelle Anzahl der Autos im Parkhaus
|
|
|
|
private static final int MAX_PLATZANZAHL = 180; // Maximale Anzahl an Plätzen im Parkhaus
|
|
|
|
private ArrayList<Pkw> fahrzeugListe = new ArrayList<>(); // Liste der Fahrzeuge im Parkhaus
|
|
|
|
private ArrayList<Pkw> fahrzeugSchulden = new ArrayList<>(); // Liste der Fahrzeuge mit Schulden
|
|
|
|
|
|
|
|
// Fahrzeug einfahren
|
|
|
|
public boolean einfahrt(String kennzeichen) {
|
|
|
|
if (aktuelleAutoAnzahl < MAX_PLATZANZAHL) {
|
|
|
|
Pkw neuesAuto = new Pkw(kennzeichen, LocalDateTime.now());
|
|
|
|
fahrzeugListe.add(neuesAuto);
|
|
|
|
aktuelleAutoAnzahl++;
|
|
|
|
return true; // Erfolgreich eingetragen
|
|
|
|
} else {
|
|
|
|
return false; // Parkhaus voll
|
2024-10-08 14:09:49 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
// Fahrzeug ausfahren
|
|
|
|
public float ausfahrt(String kennzeichen) {
|
|
|
|
for (Pkw auto : fahrzeugListe) {
|
|
|
|
if (auto.getKennzeichen().equals(kennzeichen)) {
|
|
|
|
float parkgebuehren = ParkgebuehrenBerechnung.berechneGebuehren(auto.getEinfahrzeit(), LocalDateTime.now(), auto.getKennzeichen());
|
|
|
|
fahrzeugListe.remove(auto);
|
|
|
|
aktuelleAutoAnzahl--;
|
|
|
|
return parkgebuehren; // Gebühren zurückgeben
|
|
|
|
}
|
2024-10-08 14:09:49 +02:00
|
|
|
}
|
2024-10-08 14:58:40 +02:00
|
|
|
return -1; // Fahrzeug nicht gefunden
|
2024-10-08 14:09:49 +02:00
|
|
|
}
|
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
// Aktuelle Anzahl der Fahrzeuge
|
|
|
|
public int getAktuelleAutoAnzahl() {
|
|
|
|
return aktuelleAutoAnzahl;
|
|
|
|
}
|
2024-10-08 14:09:49 +02:00
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
// Liste der geparkten Fahrzeuge
|
|
|
|
public ArrayList<Pkw> getFahrzeugListe() {
|
|
|
|
return fahrzeugListe;
|
2024-10-08 14:09:49 +02:00
|
|
|
}
|
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
// Schuldenverwaltung
|
|
|
|
public void addFahrzeugMitSchulden(Pkw auto) {
|
|
|
|
fahrzeugSchulden.add(auto);
|
|
|
|
}
|
2024-10-08 14:09:49 +02:00
|
|
|
|
2024-10-08 14:58:40 +02:00
|
|
|
public ArrayList<Pkw> getFahrzeugSchulden() {
|
|
|
|
return fahrzeugSchulden;
|
2024-10-08 14:09:49 +02:00
|
|
|
}
|
|
|
|
}
|