Ort Klasse erweitert, Ort Liste einlesen + Ort suche
parent
937c75bc44
commit
0a4faef3d2
|
@ -1,20 +1,42 @@
|
|||
package domain;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class Ort {
|
||||
|
||||
private String plz;
|
||||
private int plz;
|
||||
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.name = name;
|
||||
this.breitengrad = breitengrad;
|
||||
this.längengrad = längengrad;
|
||||
}
|
||||
|
||||
|
||||
public String getWettervorhersage() {
|
||||
|
||||
|
||||
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;
|
||||
|
||||
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 {
|
||||
|
||||
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