import java.util.ArrayList; import java.time.LocalDateTime; 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 fahrzeugListe = new ArrayList<>(); // Liste der Fahrzeuge im Parkhaus private ArrayList 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 } } // 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 } } return -1; // Fahrzeug nicht gefunden } // Aktuelle Anzahl der Fahrzeuge public int getAktuelleAutoAnzahl() { return aktuelleAutoAnzahl; } // Liste der geparkten Fahrzeuge public ArrayList getFahrzeugListe() { return fahrzeugListe; } // Schuldenverwaltung public void addFahrzeugMitSchulden(Pkw auto) { fahrzeugSchulden.add(auto); } public ArrayList getFahrzeugSchulden() { return fahrzeugSchulden; } }