From ea03bd0fa4602d52d0464d87701c8347f9df8b40 Mon Sep 17 00:00:00 2001 From: danai Date: Mon, 17 Jun 2024 23:53:27 +0200 Subject: [PATCH] =?UTF-8?q?Entfernung=20f=C3=BCr=20KrztripEmpfehlung=20hin?= =?UTF-8?q?zugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/domain/KurztripEmpfehlung.java | 4 +-- .../src/main/java/ui/UserInterface.java | 30 +++++++++++++++---- TravelBuddyApp/users.txt | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/TravelBuddyApp/src/main/java/domain/KurztripEmpfehlung.java b/TravelBuddyApp/src/main/java/domain/KurztripEmpfehlung.java index 9c2ce76..1a90d78 100644 --- a/TravelBuddyApp/src/main/java/domain/KurztripEmpfehlung.java +++ b/TravelBuddyApp/src/main/java/domain/KurztripEmpfehlung.java @@ -43,7 +43,7 @@ public class KurztripEmpfehlung { return gefilterteOrte; } - return zufallsorteAuswaehlen(gefilterteOrte, Math.min(3, gefilterteOrte.size())); + return zufallsorteAuswaehlen(gefilterteOrte, 3); } @@ -68,7 +68,7 @@ public class KurztripEmpfehlung { return gefilterteOrte; } - return zufallsorteAuswaehlen(gefilterteOrte, Math.min(3, gefilterteOrte.size())); + return zufallsorteAuswaehlen(gefilterteOrte, 3); } private List zufallsorteAuswaehlen(List orte, int anzahl) { diff --git a/TravelBuddyApp/src/main/java/ui/UserInterface.java b/TravelBuddyApp/src/main/java/ui/UserInterface.java index cedd9b3..f22793c 100644 --- a/TravelBuddyApp/src/main/java/ui/UserInterface.java +++ b/TravelBuddyApp/src/main/java/ui/UserInterface.java @@ -3,6 +3,7 @@ package ui; import java.util.List; import java.util.Scanner; +import domain.KurztripEmpfehlung; import domain.Ort; import domain.Reiseplanung; import domain.User; @@ -173,33 +174,50 @@ public class UserInterface { System.out.print("Wählen Sie ein Transportmittel (Fahrrad/Auto): "); String transportmittel = scanner.nextLine().trim().toLowerCase(); + List empfohleneOrte = null; switch (transportmittel) { case "fahrrad": - List fahrradOrte = reiseFacade.zufallsorteFahrrad(10000); - if (fahrradOrte.isEmpty()) { + empfohleneOrte = reiseFacade.zufallsorteFahrrad(10000); + //List fahrradOrte = reiseFacade.zufallsorteFahrrad(10000); + /*if (fahrradOrte.isEmpty()) { System.out.println("Keine Orte innerhalb von 100 km gefunden."); } else { System.out.println("Folgende Orte wurden für einen Fahrrad-Kurztrip empfohlen:"); for (Ort ort : fahrradOrte) { System.out.println("- " + ort.getOrtName() + " (PLZ: " + ort.getPLZ() + ")"); } - } + }*/ break; case "auto": - List autoOrte = reiseFacade.zufallsortePKW(150); - if (autoOrte.isEmpty()) { + empfohleneOrte = reiseFacade.zufallsortePKW(150); + //List autoOrte = reiseFacade.zufallsortePKW(150); + /*if (autoOrte.isEmpty()) { System.out.println("Keine Orte mindestens 150 km entfernt gefunden."); } else { System.out.println("Folgende Orte wurden für einen Auto-Kurztrip empfohlen:"); for (Ort ort : autoOrte) { System.out.println("- " + ort.getOrtName() + " (PLZ: " + ort.getPLZ() + ")"); } - } + }*/ break; default: System.out.println("Ungültige Option. Bitte wählen Sie entweder 'Fahrrad' oder 'Auto'."); break; } + + + if (!empfohleneOrte.isEmpty()) { + System.out.println("Empfohlene Orte:"); + KurztripEmpfehlung kurztripEmpfehlung = new KurztripEmpfehlung(); + for (Ort ort : empfohleneOrte) { + double entfernung = kurztripEmpfehlung.berechneEntfernung(user.getHeimatstandort(), ort); + System.out.printf("- %s (PLZ: %d, Entfernung: %.1f km)%n", ort.getOrtName(), ort.getPLZ(), entfernung); + } + } else { + System.out.println("Keine Orte gefunden."); + } + + } else { System.out.println("Bitte zuerst einloggen und Heimatort angeben!"); } diff --git a/TravelBuddyApp/users.txt b/TravelBuddyApp/users.txt index 4d31b76..0c09f7a 100644 --- a/TravelBuddyApp/users.txt +++ b/TravelBuddyApp/users.txt @@ -1,3 +1,4 @@ dana,a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3,67105,Schifferstadt,audi,123.0,60.0,30.0 max,a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3,555,berlin,audi,12.0,23.0,34.0 tina,a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3,1328,Dresden,audi,12.0,34.0,56.0 +dan,0ffe1abd1a08215353c233d6e009613e95eec4253832a761af28ff37ac5a150c,76131,Karlsruhe,tesla,23.0,120.0,40.0