Used a Deque for "automatic" reordering of calculated route.

planning
hummel 2025-04-08 18:54:20 +02:00
parent dbeb4418f3
commit a34d60c0d0
2 changed files with 7 additions and 8 deletions

View File

@ -9,7 +9,8 @@ public class NaviApp {
System.out.println(map.getNumberOfCities());
map.initializePlanning("Mannheim", "München");
for (String waypoint : map.initializePlanning("Mannheim", "Wilhelmshaven"))
System.out.println(waypoint);
}
}

View File

@ -2,8 +2,9 @@ package de.th_mannheim.informatik.routenplaner.domain;
import java.io.File;
import java.io.IOException;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Scanner;
import org.jsoup.Jsoup;
@ -17,7 +18,7 @@ public class Routeplaner {
loadData();
}
public LinkedList<String> initializePlanning(String start, String destination) {
public Deque<String> initializePlanning(String start, String destination) {
cities.get(start).setDistance(0);
planRoute(start, destination);
@ -27,19 +28,16 @@ public class Routeplaner {
System.out.println("Route:");
System.out.println();
LinkedList<String> hops = new LinkedList<>();
Deque<String> hops = new ArrayDeque<>();
City dc = cities.get(destination);
while (true) {
hops.add(dc.getName() + " " + dc.getDistance() + " km");
System.out.println("Stadt: " + dc.getName() + " " + dc.getDistance() + " km");
hops.push(dc.getName() + " " + dc.getDistance() + " km");
if (dc.getName().equals(start))
break;
dc = cities.get(dc.getPredecessor());
System.out.println("\tVorher: " + dc.getName());
}
return hops;