Я пытаюсь создать неориентированный граф, который читается из текстового файла. Однако я продолжаю получать исключение NullPointerException. Это мой Graph класс:Java - NullPointerException в Graph.java
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
{
ArrayList<Integer> vertices = new ArrayList<Integer>();
HashMap<Integer, LinkedList<Integer>> adj;
static Scanner sc;
public Graph(ArrayList<Integer> verts){
adj =new HashMap<Integer, LinkedList<Integer>>();
}
public static void main(String[] args) {
try{
sc = new Scanner(new File("graph1.txt"));
}
catch(Exception e){
System.out.println(e);
}
while(sc.hasNext()){
int a = Integer.parseInt(sc.next());
int b = Integer.parseInt(sc.next());
Graph g = new Graph(new ArrayList<Integer>());
g.addVertex(a);
g.addeEgde(a, b); // this is line 46
g.addeEgde(b, a);
}
sc.close();
}
public void addVertex(int v){
for (int i = 1; i < vertices.size(); ++i) {
adj.put(i, new LinkedList<Integer>());}
}
public void addeEgde(int v1, int v2) {
adj.get(v1).add(v2); // this is line 68
}
public List<Integer> getNeighbors(int v) {
return adj.get(v);
}
}
И это сообщение об ошибке, что я получаю:
Exception in thread "main" java.lang.NullPointerException
at testalgo.Graph.addeEgde(Graph.java:68)
at testalgo.Graph.main(Graph.java:46)
Спасибо за вашу помощь!
В качестве побочного примечания: Когда я читаю что-то, что представляет собой карту списка a .... Я думаю, возможно, его время для введения новых абстракций –