PR2-Testate/QualifierTeil2/UI.java

86 lines
2.9 KiB
Java

package QualifierTeil2;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class UI {
private Parkhaus parkhaus1 = new Parkhaus();
private Scanner scan = new Scanner(System.in);
// Methode für die Einfahrt eines PKWs
public void einfahrtPKW() {
// Überprüfen, ob das Parkhaus voll ist
if (parkhaus1.istVoll()) {
System.out.println("Das Parkhaus ist voll. Keine weiteren Einfahrten möglich.");
return; // Methode beenden, wenn keine Parkplätze mehr verfügbar sind
}
// Eingabe von Kennzeichen; wenn leer, Kennzeichen wird automatisch generiert
System.out.println("Bitte geben Sie das Kennzeichen ein (leer lassen, um ein Kennzeichen zu generieren):");
String kennzeichen = scan.nextLine();
if (kennzeichen.isEmpty()) {
kennzeichen = parkhaus1.generiereKennzeichen();
System.out.println("Generiertes Kennzeichen: " + kennzeichen);
}
System.out.println("Aktuell verfügbare Parkplätze: " + parkhaus1.kapazitaetVerfuegbar);
// Methodenaufruf vom Parkhaus für die Einfahrt
parkhaus1.einfahren(kennzeichen);
System.out.println("weitere verfügbare Parkplätze: " + parkhaus1.kapazitaetVerfuegbar);
// Ausgabe aktuelle Zeit als Einfahrtszeit
var einfahrt = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
System.out.println("Einfahrt: " + einfahrt.format(new Date()));
//Debugging
// System.out.println("belegt: " + parkhaus1.belegt);
// System.out.println("Liste pkws: " + parkhaus1.getParkendePkws());
}
// Methode für die Einfahrt von mehreren PKWs
public void mehrereEinfahrten() {
while (true) {
if (parkhaus1.istVoll()) {
System.out.println("Das Parkhaus ist voll. Keine weiteren Einfahrten möglich.");
break;
}
// PKW einfahren
einfahrtPKW();
// Frage, ob der Benutzer weitere PKWs einfahren lassen möchte
System.out.println("Möchten Sie einen weiteren PKW einfahren lassen? (j/n)");
String weiter = scan.nextLine();
// Wenn der Benutzer "n" eingibt, wird die Schleife beendet
if (!weiter.equalsIgnoreCase("j")) {
break;
}
}
}
// Methode zum Anzeigen der verfügbaren Plätze
public void zeigeVerfügbarePlätze() {
System.out.println("Verfügbare Plätze: " + parkhaus1.kapazitaetVerfuegbar);
System.out.println(" ");
}
// Methode für die Ausfahrt und Bezahlung
public void ausfahrtPKW() {
System.out.println("Geben Sie das Kennzeichen des ausfahrenden PKWs ein: ");
String kennzeichen = scan.nextLine().toUpperCase();
//Methodenaufruf vom Parkhaus für die Ausfahrt
parkhaus1.ausfahren(kennzeichen);
}
}