Java 实现星型搜索算法时的NullPointerException

Java 实现星型搜索算法时的NullPointerException,java,nullpointerexception,a-star,Java,Nullpointerexception,A Star,我正在构建一个应用程序,该应用程序使用星号来计算两个房间之间的路线。但是,在测试算法时,我遇到了NullPointrException。 这是我的顶点类: Vertex.java package testalgo; import java.util.ArrayList; public class Vertex { /** * @param args */ int vertexNumber; int x; int y; pu

我正在构建一个应用程序,该应用程序使用星号来计算两个房间之间的路线。但是,在测试算法时,我遇到了NullPointrException。 这是我的顶点类:

Vertex.java

package testalgo;

import java.util.ArrayList;

public class Vertex {

    /**
     * @param args
     */


    int vertexNumber;
    int x;
    int y;


    public Vertex(int vertNum, int x,int y){


        vertexNumber = vertNum;
        this.x = x;
        this.y = y;



    }
    public int getVertexNum(){

        return vertexNumber;
    }
    public int getX(){

        return x;
    }

    public int getY(){

        return y;
    }




    public double distanceTo(Vertex other){
        return Math.sqrt( Math.pow( x -other.x, 2) + Math.pow( y- other.y,2) );
    }
}
这是我的图形类:

Graph.java

package testalgo;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;


public class Graph

{   
        static ArrayList<Vertex> vertices = new ArrayList<Vertex>();
       static HashMap<Integer, LinkedList<Integer>> adj =new   HashMap<Integer, LinkedList<Integer>>();

       static Vertex v;
       static Scanner sc;
        public Graph(ArrayList<Vertex> verts ){ 
            }


        public static void addVertextToVertices(Vertex v1){

            vertices.add(v1);
        }


        public static void addVertex(int vertexNumber)
        {
          adj.put(vertexNumber, new LinkedList<Integer>());
        }

        public static  void addEgde(int vertexIndex, int vertexIndex2) {

            adj.get(vertexIndex).add(vertexIndex2);
        }

        public static List<Integer> getNeighbors(int v) {
            return adj.get(v);
        }


}

谢谢你的帮助

您尚未初始化v并尝试像以下那样使用它:

 Node start_Node = new Node (start,null, 0.0, v.distanceTo(goal));
                                              ^^

用可能是初始起始顶点初始化它。

哪一行是AStar中的99行?编辑:刚刚找到@jhamon Node start_Node=new Node(start,null,0.0,v.distanceTo(goal))的可能重复项;我在它旁边放了一条评论,我明白了。我会试试的。非常感谢。
Exception in thread "main" java.lang.NullPointerException
    at testalgo.AStar.findPath(AStar.java:99)
    at testalgo.AStar.main(AStar.java:90)
 Node start_Node = new Node (start,null, 0.0, v.distanceTo(goal));
                                              ^^