Java DFS图形路径查找提供空指针异常

Java DFS图形路径查找提供空指针异常,java,graph,path-finding,Java,Graph,Path Finding,这是一个家庭作业,我正试图找到一条起始顶点v和结束顶点u之间的路径。我被提供了一个测试类来测试这个方法,不幸的是我得到了空指针异常 我的方法有什么明显的错误吗 谢谢 public Iterator<Vertex<V>> returnPath(Graph<V> g, Vertex<V> v, Vertex<V> u){ Iterator<Vertex<V>> result; Iterator

这是一个家庭作业,我正试图找到一条起始顶点v和结束顶点u之间的路径。我被提供了一个测试类来测试这个方法,不幸的是我得到了空指针异常

我的方法有什么明显的错误吗

谢谢

    public Iterator<Vertex<V>> returnPath(Graph<V> g, Vertex<V> v, Vertex<V> u){
    Iterator<Vertex<V>> result;
    Iterator<Edge<V>> it;
    Edge<V> e;
    Vertex<V> w;

    v.setMarker(true);
    S.push(v);
    if(v.equals(u)){
        return S.listIterator();
    }
    it = v.incidentEdges();
    while(it.hasNext()){
        e = it.next();
        w = g.giveOpposite(v, e);
        if(!w.getMarker()){
            result = returnPath(g, w, u);
            if(result != null){
                return result;
            }
        }
    }
    S.pop();
    return null;
}

public Iterator<Vertex<V>> givePath(Graph<V> g, Vertex<V> v, Vertex<V> u){
    S.clear();
    return returnPath(g, v, u);
}
此if语句是107:

Iterator<Vertex<Integer>> it = fp.givePath(g,lookup.elementAt(i),lookup.elementAt(j));
               if ( !it.hasNext() ){
Iterator it=fp.givePath(g,lookup.elementAt(i),lookup.elementAt(j));
如果(!it.hasNext()){

您可以参考我的实现DFS算法。

发布stacktrace@StinePike添加!所以问题出在代码的其他部分…将调用此方法的代码张贴到哪里
Iterator<Vertex<Integer>> it = fp.givePath(g,lookup.elementAt(i),lookup.elementAt(j));
               if ( !it.hasNext() ){