diff --git a/Parkhaus b/Parkhaus index 8fdd903..6609ec6 100644 --- a/Parkhaus +++ b/Parkhaus @@ -3,122 +3,127 @@ package pr2parkhaus; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.Scanner; public class Parkhaus { - - private int anzahlParkplaetze; //Gesamtanzahl aller Parkplätze - private Parkplatz[] plaetze; //Array von Parkplätzen - - Scanner in = new Scanner(System.in); - //Konstruktor - public Parkhaus(int anzahlParkplaetze) { - - this.anzahlParkplaetze = anzahlParkplaetze; - this.plaetze = new Parkplatz[anzahlParkplaetze]; - - for (int i = 0; i < anzahlParkplaetze; i++) { - plaetze[i] = new Parkplatz(i+1); - } - } - - public String nummernschildErkennen() { - - String nummernschild = in.nextLine() -; - return nummernschild; - - } - - public Date zeitErkennen() { - - + private int anzahlParkplaetze; //Gesamtanzahl aller Parkplätze + private Parkplatz[] plaetze; //Array von Parkplätzen + private HashMap schuldenListe; // Schuldenliste der Autos + + Scanner in = new Scanner(System.in); + + // Konstruktor + public Parkhaus(int anzahlParkplaetze) { + + this.anzahlParkplaetze = anzahlParkplaetze; + this.plaetze = new Parkplatz[anzahlParkplaetze]; + this.schuldenListe = new HashMap<>(); // Initialisiere die Schuldenliste + + for (int i = 0; i < anzahlParkplaetze; i++) { + plaetze[i] = new Parkplatz(i + 1); + } + } + + public String nummernschildErkennen() { + String nummernschild = in.nextLine(); + return nummernschild; + } + + public Date zeitErkennen() { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm"); - - String eingabe = in.nextLine(); - Date zeit = null; - try { - zeit = sdf.parse(eingabe); - } catch (ParseException e) { - - e.printStackTrace(); - } - - return zeit; - - } - - public int autoParken(String nummernschild, Date einfahrtszeit) { - - Auto auto = new Auto(nummernschild, einfahrtszeit); - - for (Parkplatz platz : plaetze) { - - if (!platz.isSlotFree()) { - - platz.allocateSlot(auto); //Fahrzeug auf dem Platz speichern - - return platz.getPlatzNummer(); //Nummer des Platzes zurück geben - - } - } - - return -1; //kein freier Parkplatz vorhanden - } - - public double parkhausVerlassen(String nummernschild, Date ausfahrtszeit) { - - double gebuehrInCent = 0.0; - long secDiff = 0; - - for (int i=0; i