From cb15352cf301f0756d5bc4b68431dce745b5d9fc Mon Sep 17 00:00:00 2001 From: danai Date: Sat, 15 Jun 2024 17:18:34 +0200 Subject: [PATCH] Erste Teil der UI Interface --- .../src/main/java/ui/UserInterface.java | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/TravelBuddyApp/src/main/java/ui/UserInterface.java b/TravelBuddyApp/src/main/java/ui/UserInterface.java index cbf4c3a..1b0e921 100644 --- a/TravelBuddyApp/src/main/java/ui/UserInterface.java +++ b/TravelBuddyApp/src/main/java/ui/UserInterface.java @@ -1,5 +1,145 @@ package ui; +import java.util.Scanner; + +import domain.User; +import fassade.UserFassade; + public class UserInterface { + private UserFassade userFacade; + private Scanner scanner; + + public UserInterface() { + + this.userFacade = new UserFassade(); + this.scanner = new Scanner(System.in); + start(); + } + + public void start() { + + boolean exit = false; + System.out.println("\t\t\t Willkommen zur Travel-Buddy-App!"); + System.out.println("\t\t\t --------------------------------"); + while (!exit) { + System.out.println("1. Registrieren"); + System.out.println("2. Einloggen"); + System.out.println("3. Suche Ort"); + System.out.println("4. Plane Reise"); + System.out.println("5. Kurztrip empfehlen"); + System.out.println("6. Beenden"); + System.out.print("Wählen Sie eine Option: "); + + int option = Integer.parseInt(scanner.nextLine()); + System.out.println("\n================================================================================"); + + switch (option) { + case 1: + registrieren(); + System.out.println("\n================================================================================"); + break; + case 2: + einloggen(); + System.out.println("\n================================================================================"); + break; + case 3: + sucheOrt(); + break; + case 4: + planeReise(); + break; + case 5: + kurztripEmpfehlen(); + break; + case 6: + System.out.println("Auf Wiedersehen!"); + return; + default: + System.out.println("Ungültige Option. Bitte wählen Sie eine gültige Option."); + } + } + + } + + private void registrieren() { + System.out.print("Geben Sie einen Benutzernamen ein: "); + String username = scanner.nextLine(); + System.out.print("Geben Sie ein Passwort ein: "); + String password = scanner.nextLine(); + System.out.print("Geben Sie Ihre Heimat-PLZ ein: "); + String plz = scanner.nextLine(); + System.out.print("Geben Sie Ihren Heimatort ein: "); + String ortName = scanner.nextLine(); + System.out.print("Geben Sie den Namen Ihres Autos ein: "); + String autoName = scanner.nextLine(); + System.out.print("Geben Sie den CO2-Ausstoß Ihres Autos (g/km) ein: "); + double co2Ausstoss = Double.parseDouble(scanner.nextLine()); + System.out.print("Geben Sie die Durchschnittsgeschwindigkeit Ihres Autos (km/h) ein: "); + double durchschnittsgeschwindigkeitPKW = Double.parseDouble(scanner.nextLine()); + System.out.print("Geben Sie die Durchschnittsgeschwindigkeit Ihres Fahrrads (km/h) ein: "); + double durchschnittsgeschwindigkeitFahrrad = Double.parseDouble(scanner.nextLine()); + + userFacade.registrieren(username, password, plz, ortName, autoName, co2Ausstoss, + durchschnittsgeschwindigkeitPKW, durchschnittsgeschwindigkeitFahrrad); + System.out.println("\nRegistrierung erfolgreich! Willkommen, " + username + "!"); + } + + private void einloggen() { + System.out.print("Geben Sie Ihren Benutzernamen ein: "); + String username = scanner.nextLine(); + System.out.print("Geben Sie Ihr Passwort ein: "); + String password = scanner.nextLine(); + + User user = userFacade.einloggen(username, password); + if (user != null) { + System.out.println("\nLogin erfolgreich! Willkommen zurück, " + user.getUsername() + "!"); + String wetter = user.zeigeWetterHeimatstandort(); + System.out.println("Aktuelles Wetter in " + user.getHeimatstandort().getOrtName() + ": " + wetter); + + + } else { + System.out.println("\nBenutzername oder Passwort ist falsch:("); + } + } + + private void sucheOrt() { + System.out.print("Geben Sie den Namen des Ortes ein: "); + + // die Ortssuche und Wetteranzeige für die nächsten drei Tage + } + + + + + + private void planeReise() { + System.out.print("Geben Sie Ihre Start-PLZ ein: "); + String startPLZ = scanner.nextLine(); + System.out.print("Geben Sie Ihren Startort ein: "); + String startOrtName = scanner.nextLine(); + System.out.print("Geben Sie Ihre Ziel-PLZ ein: "); + String zielPLZ = scanner.nextLine(); + System.out.print("Geben Sie Ihren Zielort ein: "); + String zielOrtName = scanner.nextLine(); + // die Reiseplanung basierend auf den Eingaben + } + + + + + + private void kurztripEmpfehlen() { + System.out.println("Empfohlener Kurztrip:"); + // die Empfehlung eines Kurztrips + } + + + + + public static void main(String[] args) { + new UserInterface(); + + } + }