Hello I am trying to create a link list using a txt file. I when I try to print the link list I created. I am getting this error
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "PlanetLinkedList.printLL()" because "<local3>" is null
at test.main(test.java:12)
I do not know why I am getting this error, I double checked my method and I don't see anything wrong with it. Here is the main
import java.io.File;
import java.util.Scanner;
class test{
public static void main(String[] args){
// You are not allowed to change the main method.
String inputfilename = "input.txt";
String outputfilename= "output.txt";
PlanetLinkedList solarSystem = constructLLFromFile(inputfilename);
solarSystem.printLL();
System.out.println();
}
static PlanetLinkedList constructLLFromFile(String theInputFile){
System.out.println("Constructing the linked list from "+theInputFile);
PlanetLinkedList head = null;
try{
File file = new File(theInputFile);
Scanner scan = new Scanner(file);
int data = 0;
head = new PlanetLinkedList("", 0, data);
int index = 0;
while(scan.hasNext()){
data = Integer.parseInt(scan.nextLine());
String name = scan.nextLine();
long diamater = Long.parseLong(scan.nextLine());
int moons = Integer.parseInt(scan.nextLine());
Planet insertee = new Planet(name,diamater,moons);
head.insert(insertee,index);
index++;
}
}catch(Exception eee){
}
return null; // cannot change
}
}
Here is the link list
import java.io.FileWriter;
class PlanetLinkedList{
private Planet head;
PlanetLinkedList(){
}
PlanetLinkedList(Planet initial){
head=initial;
}
PlanetLinkedList(String n, long d, int m){
head = new Planet(n, d, m);
}
}
Here is the object class
class Planet{
private String name;
private long diameter;
private int moon;
Planet next;
Planet(String n, long d, int m){
name = n;
diameter = d;
moon = m;
}
String getName(){
return name;
}
long getDiameter(){
return diameter;
}
int getMoon(){
return moon;
}
public String toString(){
return "Name: "+name+
"\nDiameter: "+diameter+
"\nMoon: "+moon;
}
}
Just note I can't change the object or link list, only the method creating the link list. Here is the txt file
Mercury
4879
0
Venus
12104
0
Earth
12756
1
Mars
6805
2
Saturn
120536
62