Ort Klasse erweitert, Ort Liste einlesen + Ort suche
parent
937c75bc44
commit
0a4faef3d2
|
@ -1,20 +1,42 @@
|
||||||
package domain;
|
package domain;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class Ort {
|
public class Ort {
|
||||||
|
|
||||||
private String plz;
|
private int plz;
|
||||||
private String name;
|
private String name;
|
||||||
|
private double breitengrad;
|
||||||
|
private double längengrad;
|
||||||
|
|
||||||
|
|
||||||
public Ort(String plz, String name) {
|
public Ort(int plz, String name, double breitengrad, double längengrad) {
|
||||||
this.plz = plz;
|
this.plz = plz;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
this.breitengrad = breitengrad;
|
||||||
|
this.längengrad = längengrad;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getWettervorhersage() {
|
public String getWettervorhersage() {
|
||||||
|
|
||||||
|
|
||||||
return "Wettervorhersage";
|
return "Wettervorhersage";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPLZ() {
|
||||||
|
return plz;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getBreitengrad() {
|
||||||
|
return breitengrad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getLängengrad() {
|
||||||
|
return längengrad;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,58 @@
|
||||||
package fassade;
|
package fassade;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import domain.Ort;
|
||||||
|
import ui.UserInterface;
|
||||||
|
|
||||||
public class ReiseFassade {
|
public class ReiseFassade {
|
||||||
|
|
||||||
|
private Set<Ort> orte;
|
||||||
|
|
||||||
|
public ReiseFassade() throws FileNotFoundException {
|
||||||
|
orte = new HashSet<>();
|
||||||
|
|
||||||
|
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.");
|
||||||
|
}
|
||||||
|
|
||||||
|
//gibt Trefferliste passend zum Suchbegriff zurück
|
||||||
|
public Ort[] sucheOrt(String suchbegriff) {
|
||||||
|
Set<Ort> trefferliste = new HashSet<>();
|
||||||
|
|
||||||
|
//gibt alle Orte zurück
|
||||||
|
if(suchbegriff.equals("alle"))
|
||||||
|
trefferliste = orte;
|
||||||
|
else
|
||||||
|
//läuft über set 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
|
||||||
|
if(o.getName().contains(suchbegriff) && trefferliste.size()<8)
|
||||||
|
trefferliste.add(o);
|
||||||
|
}
|
||||||
|
return trefferliste.toArray(new Ort[0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue