überarbeiteter merge, UI erweitert
parent
1dcecea263
commit
d7a46eef78
|
@ -1,8 +1,5 @@
|
|||
package domain;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
@ -14,7 +11,7 @@ public class KurztripEmpfehlung {
|
|||
private Ort heimatort;
|
||||
|
||||
public KurztripEmpfehlung(User user) {
|
||||
this.alleOrte = ladeAlleOrte();
|
||||
// this.alleOrte = ladeAlleOrte();
|
||||
this.heimatort = null;
|
||||
}
|
||||
|
||||
|
@ -112,34 +109,34 @@ public class KurztripEmpfehlung {
|
|||
|
||||
|
||||
|
||||
private List<Ort> ladeAlleOrte() {
|
||||
List<Ort> alleOrte = new ArrayList<>();
|
||||
|
||||
String csvFile = "src/main/resources/PLZ.csv";
|
||||
String line;
|
||||
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
|
||||
while ((line = br.readLine()) != null) {
|
||||
line = line.replaceAll("\\s+", "");
|
||||
String[] data = line.split(";");
|
||||
int plz = Integer.parseInt(data[0].replaceAll("\"", ""));
|
||||
String ortName = data[1].replaceAll("\"", "");
|
||||
double breitengrad = Double.parseDouble(data[2].replaceAll("\"", ""));
|
||||
double laengengrad = Double.parseDouble(data[3].replaceAll("\"", ""));
|
||||
Ort ort = new Ort(plz, ortName);
|
||||
ort.breitengrad = breitengrad;
|
||||
ort.längengrad = laengengrad;
|
||||
alleOrte.add(ort);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.err.println("Fehler beim Lesen der Datei: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
} catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {
|
||||
System.err.println("Fehlerhaftes Datenformat in der CSV-Datei: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return alleOrte;
|
||||
}
|
||||
// private List<Ort> ladeAlleOrte() {
|
||||
// List<Ort> alleOrte = new ArrayList<>();
|
||||
//
|
||||
// String csvFile = "src/main/resources/PLZ.csv";
|
||||
// String line;
|
||||
// try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
|
||||
// while ((line = br.readLine()) != null) {
|
||||
// line = line.replaceAll("\\s+", "");
|
||||
// String[] data = line.split(";");
|
||||
// int plz = Integer.parseInt(data[0].replaceAll("\"", ""));
|
||||
// String ortName = data[1].replaceAll("\"", "");
|
||||
// double breitengrad = Double.parseDouble(data[2].replaceAll("\"", ""));
|
||||
// double laengengrad = Double.parseDouble(data[3].replaceAll("\"", ""));
|
||||
// Ort ort = new Ort(plz, ortName);
|
||||
// ort.breitengrad = breitengrad;
|
||||
// ort.längengrad = laengengrad;
|
||||
// alleOrte.add(ort);
|
||||
// }
|
||||
// } catch (IOException e) {
|
||||
// System.err.println("Fehler beim Lesen der Datei: " + e.getMessage());
|
||||
// e.printStackTrace();
|
||||
// } catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {
|
||||
// System.err.println("Fehlerhaftes Datenformat in der CSV-Datei: " + e.getMessage());
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// return alleOrte;
|
||||
// }
|
||||
|
||||
public Ort getHeimatort() {
|
||||
return heimatort;
|
||||
|
|
|
@ -7,14 +7,14 @@ public class Ort {
|
|||
|
||||
private int plz;
|
||||
private String name;
|
||||
double breitengrad;
|
||||
double längengrad;
|
||||
public double breitengrad;
|
||||
public double längengrad;
|
||||
|
||||
public Ort(int plz, String name) {
|
||||
this.plz = plz;
|
||||
this.name = name;
|
||||
this.breitengrad = breitengrad;
|
||||
this.längengrad = längengrad;
|
||||
// this.breitengrad = breitengrad;
|
||||
// this.längengrad = längengrad;
|
||||
}
|
||||
|
||||
public String getAktuellesWetter() {
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package fassade;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Scanner;
|
||||
import java.util.Set;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import domain.Ort;
|
||||
import domain.Reiseplanung;
|
||||
import domain.User;
|
||||
|
@ -17,15 +16,44 @@ public class ReiseFassade {
|
|||
private Reiseplanung reiseplanung;
|
||||
private KurztripEmpfehlung kurztripEmpfehlung;
|
||||
User user;
|
||||
private Set<Ort> orte;
|
||||
List<Ort> alleOrte;
|
||||
|
||||
|
||||
public ReiseFassade(User user) {
|
||||
|
||||
orte = new HashSet<>();
|
||||
|
||||
|
||||
alleOrte = ladeAlleOrte();
|
||||
// this.kurztripEmpfehlung = new KurztripEmpfehlung();
|
||||
|
||||
}
|
||||
public List<Ort> ladeAlleOrte() {
|
||||
List<Ort> alleOrte = new ArrayList<>();
|
||||
|
||||
String csvFile = "src/main/resources/PLZ.csv";
|
||||
String line;
|
||||
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
|
||||
while ((line = br.readLine()) != null) {
|
||||
line = line.replaceAll("\\s+", "");
|
||||
String[] data = line.split(";");
|
||||
int plz = Integer.parseInt(data[0].replaceAll("\"", ""));
|
||||
String ortName = data[1].replaceAll("\"", "");
|
||||
double breitengrad = Double.parseDouble(data[2].replaceAll("\"", ""));
|
||||
double laengengrad = Double.parseDouble(data[3].replaceAll("\"", ""));
|
||||
Ort ort = new Ort(plz, ortName);
|
||||
ort.breitengrad = breitengrad;
|
||||
ort.längengrad = laengengrad;
|
||||
alleOrte.add(ort);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.err.println("Fehler beim Lesen der Datei: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
} catch (NumberFormatException | ArrayIndexOutOfBoundsException e) {
|
||||
System.err.println("Fehlerhaftes Datenformat in der CSV-Datei: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return alleOrte;
|
||||
}
|
||||
|
||||
// //lädt Datei aus rescources ein und speichert Orte in HashSet ab
|
||||
// private void orteLaden() throws FileNotFoundException {
|
||||
|
@ -49,15 +77,15 @@ private KurztripEmpfehlung kurztripEmpfehlung;
|
|||
|
||||
//gibt Trefferliste passend zum Suchbegriff zurück
|
||||
public String sucheOrt(String suchbegriff) {
|
||||
Set<Ort> trefferliste = new HashSet<>();
|
||||
List<Ort> trefferliste = new ArrayList<>();
|
||||
String ausgabe = " ";
|
||||
|
||||
//gibt alle Orte zurück
|
||||
if(suchbegriff.equals("alle"))
|
||||
trefferliste = orte;
|
||||
trefferliste = alleOrte;
|
||||
else
|
||||
//läuft über set orte
|
||||
for(Ort o : orte) {
|
||||
for(Ort o : alleOrte) {
|
||||
//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);
|
||||
|
@ -81,7 +109,10 @@ private KurztripEmpfehlung kurztripEmpfehlung;
|
|||
reiseplanung.berechneCo2Ausstoss();
|
||||
return reiseplanung;
|
||||
}*/
|
||||
|
||||
public String getReiseplanung(User user, Ort ziel) {
|
||||
reiseplanung = new Reiseplanung(user, ziel);
|
||||
return reiseplanung.toString();
|
||||
}
|
||||
|
||||
public void setHeimatortFromUser(User user) {
|
||||
kurztripEmpfehlung.setHeimatort(user.getHeimatstandort());
|
||||
|
|
|
@ -4,7 +4,6 @@ import java.util.List;
|
|||
import java.util.Scanner;
|
||||
|
||||
import domain.Ort;
|
||||
import domain.Reiseplanung;
|
||||
import domain.User;
|
||||
import fassade.ReiseFassade;
|
||||
import fassade.UserFassade;
|
||||
|
@ -131,6 +130,7 @@ public class UserInterface {
|
|||
private void sucheOrt() {
|
||||
System.out.print("Geben Sie den Namen des Ortes ein: ");
|
||||
String ortName = scanner.nextLine();
|
||||
System.out.println(reiseFacade.sucheOrt(ortName));
|
||||
/*
|
||||
* List<Ort> treffer = reiseFacade.sucheOrt(ortName); if (treffer.isEmpty()) {
|
||||
* System.out.println("Keine Treffer gefunden."); } else {
|
||||
|
@ -143,17 +143,18 @@ public class UserInterface {
|
|||
}
|
||||
|
||||
private void planeReise() {
|
||||
System.out.print("Geben Sie Ihre Start-PLZ ein: ");
|
||||
int startPlz = Integer.parseInt(scanner.nextLine());
|
||||
System.out.print("Geben Sie Ihren Startort ein: ");
|
||||
String startOrtName = scanner.nextLine();
|
||||
Ort startort = new Ort(startPlz, startOrtName);
|
||||
// System.out.print("Geben Sie Ihre Start-PLZ ein: ");
|
||||
// int startPlz = Integer.parseInt(scanner.nextLine());
|
||||
// System.out.print("Geben Sie Ihren Startort ein: ");
|
||||
// String startOrtName = scanner.nextLine();
|
||||
// Ort startort = new Ort(startPlz, startOrtName);
|
||||
System.out.print("Geben Sie die Ziel-PLZ ein: ");
|
||||
int zielPlz = Integer.parseInt(scanner.nextLine());
|
||||
System.out.print("Geben Sie den Zielort ein: ");
|
||||
String zielOrtName = scanner.nextLine();
|
||||
Ort zielort = new Ort(zielPlz, zielOrtName);
|
||||
|
||||
System.out.println(reiseFacade.getReiseplanung(user, zielort));
|
||||
/*
|
||||
* Reiseplanung reise = reiseFacade.planeReise(startort, zielort);
|
||||
* System.out.println("Reiseplanung:"); System.out.println("Entfernung: " +
|
||||
|
|
Loading…
Reference in New Issue