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() {
return co2AusstossProKm;
}
}

View File

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

View File

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

View File

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

View File

@ -7,41 +7,45 @@ import java.util.Scanner;
import java.util.Set;
import domain.Ort;
import ui.UserInterface;
import domain.Reiseplanung;
import domain.User;
public class ReiseFassade {
User user;
private Set<Ort> orte;
public ReiseFassade() throws FileNotFoundException {
public ReiseFassade(User user) throws FileNotFoundException {
orte = new HashSet<>();
orteLaden();
// orteLaden();
}
//lädt Datei aus rescources ein und speichert Orte in HashSet ab
private void orteLaden() throws FileNotFoundException {
//UserInterface.class.getClass().getResourceAsStream("resources/PLZ.csv");
Scanner sc = new Scanner(new File("resources/PLZ.csv"));
int zähler = 0;
while (sc.hasNextLine()) {
String ort = sc.nextLine();
String[] spalten = ort.split(";");
orte.add(new Ort(Integer.parseInt(spalten[0]), spalten[1], Double.parseDouble(spalten[2]), Double.parseDouble(spalten[3])));
zähler++;
}
System.out.println(zähler + "Orte geladen.");
}
// //lädt Datei aus rescources ein und speichert Orte in HashSet ab
// private void orteLaden() throws FileNotFoundException {
//
// //UserInterface.class.getClass().getResourceAsStream("resources/PLZ.csv");
// Scanner sc = new Scanner(new File("resources/PLZ.csv"));
//
// int zähler = 0;
// while (sc.hasNextLine()) {
// String ort = sc.nextLine();
//
// String[] spalten = ort.split(";");
//
// orte.add(new Ort(Integer.parseInt(spalten[0]), spalten[1], Double.parseDouble(spalten[2]), Double.parseDouble(spalten[3])));
//
// zähler++;
// }
//
// System.out.println(zähler + "Orte geladen.");
// }
//gibt Trefferliste passend zum Suchbegriff zurück
public Ort[] sucheOrt(String suchbegriff) {
public String sucheOrt(String suchbegriff) {
Set<Ort> trefferliste = new HashSet<>();
String ausgabe = " ";
//gibt alle Orte zurück
if(suchbegriff.equals("alle"))
@ -53,6 +57,13 @@ public class ReiseFassade {
if(o.getName().contains(suchbegriff) && trefferliste.size()<8)
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;
}
}