1

jgrapht 指向の単純なグラフから返されたエッジのセットを反復処理しています。

 Set<DefaultEdge> edges = graph.edgeSet();

    for (DefaultEdge edge : edges) {

       System.out.println(edge.getSource());
       System.out.println(edge.getTarget());

}

edgeSetメソッドは正しい量のエッジを返しますが、ソースとターゲットは常に null です。

4

1 に答える 1

3

グラフをインスタンス化してエッジ クラスに渡すと、次のようになります。

DirectedGraph graph = new SimpleDirectedGraph(DefaultEdge.class);

Netbeans は、どのDefaultEdge.classファイルをインポートするかのオプションを提供してくれましたが、間違ったファイルを選択しました。org.jgraphtの代わりにorg.jgraphライブラリを使用しました。

DefaultEdge クラスを使用している場合は、jgrapht のクラスを使用していることを確認してください。

import org.jgrapht.graph.DefaultEdge;

そうしないと、コンパイラ エラーは発生せず、エッジ データの取得が試行されるまで、すべてが適切に機能しているように見えます。

于 2014-11-06T19:00:07.383 に答える