未知の検索割り当てを行っていますが、私は立ち往生しています。私はそれの90%がしかし、私がしようとしています、作業していJava最短コストパス:(.txt)テキストファイルからの情報なし/情報付き検索
http://i.stack.imgur.com/d4n18.png
:
1).txtファイルから代わりのコード内からのデータ(都市やマイル)をロードします。 2)プログラムは3つのコマンドライン入力引数を取ることを許可:入力ファイル名、起点都市、および目的地の都市
例:findroute inputFilename originCity DestinationCity
コマンドラインの例:ミュンヘンベルリンinput1.txt findroute
これは私が今持っているコードの一部です:私はちょうどこれを行う方法を見つけ出すことはできません
package graph;
import java.util.Formatter;
import java.util.List;
import bisearch.UniformCostSearch;
import search.Action;
public class findRoute {
/**
* finds the shortest path
*/
public static void main(final String[] args) {
Graph graph = findRoute.Map();
GraphStateSpaceSearchProblem sssp = new GraphStateSpaceSearchProblem(
graph, " Zerind ", " Oradea ");
bisearch.Search bisearch = new UniformCostSearch();
List<Action> actions = bisearch.search(sssp);
findRoute.printOutput(bisearch.nodesExplored(), actions);
}
/**
* prints the path found
*/
private static void printOutput(final int nodesExplored,
final List<Action> actions) {
double cost = 0;
for (final Action action : actions)
cost += action.cost();
System.out.println("Distance: " + new Formatter().format("%.2f", cost)+" m");
System.out.println ("Route: ");
for (final Action action : actions)
System.out.println(action);
}
/**
* creates a map of as a Graph
*/
private static Graph Map() {
final Graph graph = new Graph();
graph.addUndirectedEdge("Oradea", "Zerind", 71);
graph.addUndirectedEdge("Zerind", "Arad", 75);
graph.addUndirectedEdge("Arad", "Sibiu", 140);
graph.addUndirectedEdge("Sibiu", "Oradea", 151);
graph.addUndirectedEdge("Timisoara", "Arad", 118);
graph.addUndirectedEdge("Timisoara", "Lugoj", 111);
graph.addUndirectedEdge("Lugoj", "Mehadia", 70);
graph.addUndirectedEdge("Mehadia", "Dobreta", 75);
graph.addUndirectedEdge("Dobreta", "Craiova", 120);
graph.addUndirectedEdge("Sibiu", "Fagaras", 99);
graph.addUndirectedEdge("Fagaras", "Bucharest", 211);
graph.addUndirectedEdge("Sibiu", "Rimnicu Vilcea", 80);
graph.addUndirectedEdge("Pitesti", "Rimnicu Vilcea", 97);
graph.addUndirectedEdge("Craiova", "Rimnicu Vilcea", 146);
graph.addUndirectedEdge("Craiova", "Pitesti", 136);
graph.addUndirectedEdge("Pitesti", "Bucharest", 101);
graph.addUndirectedEdge("Bucharest", "Giurgiu", 90);
graph.addUndirectedEdge("Bucharest", "Urziceni", 85);
graph.addUndirectedEdge("Urziceni", "Hirsova", 98);
graph.addUndirectedEdge("Hirsova", "Eforie", 86);
graph.addUndirectedEdge("Urziceni", "Vaslui", 142);
graph.addUndirectedEdge("Vaslui", "Iasi", 92);
graph.addUndirectedEdge("Neamt", "Iasi", 87);
return graph;
}
}
。どんな助けでも大歓迎です。事前
通常、宿題では、説明に絶対に重要でない限り、コードを提供する代わりに概念を説明することをおすすめします。 – Woot4Moo
@ Woot4Moo - それは彼が必要とするコードではなく、単にargs配列のイラストです...私はすべて宿題タグに関する完全な解決策を投稿していないのですが、これはそれにはほど遠いです。 – prelic