Parkhaus2/Parkhaus.java

54 lines
1.8 KiB
Java
Raw Normal View History

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
}
}