Compare commits

..

3 Commits

Author SHA1 Message Date
Caro 963cdbad2b merge versuch 2024-06-17 13:18:56 +02:00
Caro b54c94fe6e Merge branch 'OrtSuche' into testmerge 2024-06-17 13:13:26 +02:00
Caro 378fcff162 Fassade aktualisiert 2024-06-16 13:24:28 +02:00
5 changed files with 40 additions and 25 deletions

View File

@ -13,6 +13,7 @@ public class Auto {
public double getCO2AusstoßProKm() { public double getCO2AusstoßProKm() {
return co2AusstossProKm; return co2AusstossProKm;
} }
} }

View File

@ -38,5 +38,6 @@ public class Ort {
public double getLängengrad() { public double getLängengrad() {
return längengrad; return längengrad;
} }
} }

View File

@ -48,6 +48,7 @@ public class Reiseplanung {
public double getEntferung() { public double getEntferung() {
return entfernung; return entfernung;
} }
public String toString() { public String toString() {

View File

@ -11,6 +11,7 @@ public class User {
public User(String username, String password, Ort heimatstandort, Auto auto, double durchschnittsgeschwindigkeitPKW, public User(String username, String password, Ort heimatstandort, Auto auto, double durchschnittsgeschwindigkeitPKW,
double durchschnittsgeschwindigkeitFahrrad) { double durchschnittsgeschwindigkeitFahrrad) {
this.username = username; this.username = username;
this.password = password; this.password = password;
this.heimatstandort = heimatstandort; this.heimatstandort = heimatstandort;

View File

@ -7,41 +7,45 @@ import java.util.Scanner;
import java.util.Set; import java.util.Set;
import domain.Ort; import domain.Ort;
import ui.UserInterface; import domain.Reiseplanung;
import domain.User;
public class ReiseFassade { public class ReiseFassade {
User user;
private Set<Ort> orte; private Set<Ort> orte;
public ReiseFassade() throws FileNotFoundException { public ReiseFassade(User user) throws FileNotFoundException {
orte = new HashSet<>(); orte = new HashSet<>();
orteLaden(); // orteLaden();
} }
//lädt Datei aus rescources ein und speichert Orte in HashSet ab // //lädt Datei aus rescources ein und speichert Orte in HashSet ab
private void orteLaden() throws FileNotFoundException { // private void orteLaden() throws FileNotFoundException {
//
//UserInterface.class.getClass().getResourceAsStream("resources/PLZ.csv"); // //UserInterface.class.getClass().getResourceAsStream("resources/PLZ.csv");
Scanner sc = new Scanner(new File("resources/PLZ.csv")); // Scanner sc = new Scanner(new File("resources/PLZ.csv"));
//
int zähler = 0; // int zähler = 0;
while (sc.hasNextLine()) { // while (sc.hasNextLine()) {
String ort = sc.nextLine(); // String ort = sc.nextLine();
//
String[] spalten = ort.split(";"); // String[] spalten = ort.split(";");
//
orte.add(new Ort(Integer.parseInt(spalten[0]), spalten[1], Double.parseDouble(spalten[2]), Double.parseDouble(spalten[3]))); // orte.add(new Ort(Integer.parseInt(spalten[0]), spalten[1], Double.parseDouble(spalten[2]), Double.parseDouble(spalten[3])));
//
zähler++; // zähler++;
} // }
//
System.out.println(zähler + "Orte geladen."); // System.out.println(zähler + "Orte geladen.");
} // }
//gibt Trefferliste passend zum Suchbegriff zurück //gibt Trefferliste passend zum Suchbegriff zurück
public Ort[] sucheOrt(String suchbegriff) { public String sucheOrt(String suchbegriff) {
Set<Ort> trefferliste = new HashSet<>(); Set<Ort> trefferliste = new HashSet<>();
String ausgabe = " ";
//gibt alle Orte zurück //gibt alle Orte zurück
if(suchbegriff.equals("alle")) if(suchbegriff.equals("alle"))
@ -49,10 +53,17 @@ public class ReiseFassade {
else else
//läuft über set orte //läuft über set orte
for(Ort o : orte) { for(Ort o : orte) {
//fügt ort zur Trefferliste hinzu wenn der Suchbegriff im Namen ist und weniger als 8 Orte bereits drauf stehen //fügt ort zur Trefferliste hinzu wenn der Suchbegriff im Namen ist und weniger als 8 Orte bereits drauf stehen
if(o.getName().contains(suchbegriff) && trefferliste.size()<8) if(o.getName().contains(suchbegriff) && trefferliste.size()<8)
trefferliste.add(o); trefferliste.add(o);
} }
return trefferliste.toArray(new Ort[0]);
for(Ort o : trefferliste) {
ausgabe = ausgabe + o.getName() + " Entfernung: " + new Reiseplanung(user, o).getEntferung() + "\n";
}
return ausgabe;
} }
} }