Keep getting a null pointer exception for some odd reason im

Keep getting a null pointer exception for some odd reason

im creating the variable and the object but it still isnt working

My code is below please help

package classes;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.*;
import java.util.*;
import java.text.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NewClass4
{

private class Node
{
private String text;
private int Hit;
private int Miss;
private Node next;


public Node(String text, int Hit, int Miss, Node next)
{
this.text=text;
this.Hit=Hit;
this.Miss=Miss;
this.next=next;
}

public void incrementHit()
{
this.Hit = this.Hit+1;
}

public void incrementMiss()
{
this.Miss = this.Miss+1;
}

public String getText()
{
return this.text;
}

public int getHit()
{
return this.Hit;
}

public int getMiss()
{
return this.Miss;
}
}//end of node

private class LL
{
public Node head;

public LL()
{
head=null;
}

public void insert(String text2, boolean isHit)
{
System.out.println(\"entered insert method\");
Node temp=this.head;
System.out.println(\"sent temp node to head\");

while((temp!=null) && (!temp.text.equals(text2)) )
{
temp=temp.next;
}

if(temp==null)
{
// we did not find the string
if(isHit)
{
this.head=new Node(text2,1, 0, this.head );
}

else
{
this.head=new Node(text2,0, 1, this.head );
}
}

else
{

if(isHit)
{
temp.incrementHit();
}

else
{
temp.incrementMiss();
}


}

}//end of insert

public void printList()
{
Node temp=this.head;
while(temp!=null)
{

int Hit=temp.getHit();
int Miss=temp.getMiss();
double sucRate=Hit*100/(Hit+Miss);

System.out.println(temp.getText() + \" \" + sucRate);
}
}

}// end of LL


private static LL myLL;

public NewClass4()
{

this.myLL = new LL();
}


public static void main(String[] args)
{
SimpleDateFormat sdf = new SimpleDateFormat(\"dd/MMM/yyyy:HH:mm:ss\",Locale.ENGLISH);
String myString = null;
Pattern a = Pattern.compile(\"[0-9]{2}\\\\/?[A-Za-z]{3,4}\\\\/?[0-9]{4}[.,-:]{1}[0-9.,-:]{1,}\\\\s+\");
Pattern d= Pattern.compile(\"\\\\s+\\\\/+[0-9.]{3}\\\\/+[A-Za-z]{1,}\\\\/+[A-Za-z.,-:%]{1,}\");
Pattern f= Pattern.compile(\"\\\\s+[0-9]{3}\\\\s+\");
String newLine;

try {
File file = new File(\"myFile.txt\");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null)
{
myString = line;

System.out.println(myString);

Matcher m1 = a.matcher(myString);
Matcher m2 = d.matcher(myString);
Matcher m3 = f.matcher(myString);

if (m1.find() && m2.find()&& m3.find())
try {
Date parsedDate = sdf.parse(m1.group());
SimpleDateFormat print = new SimpleDateFormat(\"yyyy-MM-dd\'T\'HH:mm\");
int responseCode = Integer.parseInt(m3.group().trim());
System.out.println(print.format(parsedDate)+ \" \"+m2.group()+\" \"+responseCode);
newLine = print.format(parsedDate)+ \" \"+m2.group();

// decide true or false
if (responseCode >= 500 )
{
if (NewClass4.myLL == null)
{
System.out.println(\"Link List is empty\");
}

NewClass4.myLL.insert(newLine, false);
}

else
{
NewClass4.myLL.insert(newLine, true);
}

} // end of second try

catch (ParseException e)
{
e.printStackTrace();
}


}// end of while

fileReader.close();
//System.out.println(\"Contents of file:\");

}//end of first try
catch (IOException e)
{
e.printStackTrace();
}

//Classes.myLL.printList();

}// end of main

}// end of Classes

Solution

package classes;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.*;
import java.util.*;
import java.text.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NewClass4 {
   private class Node {
       private String text;
       private int Hit;
       private int Miss;
       private Node next;

       public Node(String text, int Hit, int Miss, Node next) {
           this.text = text;
           this.Hit = Hit;
           this.Miss = Miss;
           this.next = next;
       }

       public void incrementHit() {
           this.Hit = this.Hit + 1;
       }

       public void incrementMiss() {
           this.Miss = this.Miss + 1;
       }

       public String getText() {
           return this.text;
       }

       public int getHit() {
           return this.Hit;
       }

       public int getMiss() {
           return this.Miss;
       }
   }// end of node

   private class LL {
       public Node head;

       public LL() {
           head = null;
       }

       public void insert(String text2, boolean isHit) {
           System.out.println(\"entered insert method\");
           Node temp = this.head;
           System.out.println(\"sent temp node to head\");
           while ((temp != null) && (!temp.text.equals(text2))) {
               temp = temp.next;
           }
           if (temp == null) {
               // we did not find the string
               if (isHit) {
                   this.head = new Node(text2, 1, 0, this.head);
               } else {
                   this.head = new Node(text2, 0, 1, this.head);
               }
           } else {
               if (isHit) {
                   temp.incrementHit();
               } else {
                   temp.incrementMiss();
               }

           }
       }// end of insert

       public void printList() {
           Node temp = this.head;
           while (temp != null) {
               int Hit = temp.getHit();
               int Miss = temp.getMiss();
               double sucRate = Hit * 100 / (Hit + Miss);
               System.out.println(temp.getText() + \" \" + sucRate);
           }
       }
   }// end of LL

   private static LL myLL;

   public NewClass4() {
       this.myLL = new LL();
   }

   public static void main(String[] args) {
       SimpleDateFormat sdf = new SimpleDateFormat(\"dd/MMM/yyyy:HH:mm:ss\",
               Locale.ENGLISH);
       String myString = null;
       Pattern a = Pattern
               .compile(\"[0-9]{2}\\\\/?[A-Za-z]{3,4}\\\\/?[0-9]{4}[.,-:]{1}[0-9.,-:]{1,}\\\\s+\");
       Pattern d = Pattern
               .compile(\"\\\\s+\\\\/+[0-9.]{3}\\\\/+[A-Za-z]{1,}\\\\/+[A-Za-z.,-:%]{1,}\");
       Pattern f = Pattern.compile(\"\\\\s+[0-9]{3}\\\\s+\");
       String newLine;
       try {
           File file = new File(\"myFile.txt\");
           FileReader fileReader = new FileReader(file);
           BufferedReader bufferedReader = new BufferedReader(fileReader);
           String line;
           while ((line = bufferedReader.readLine()) != null) {
               myString = line;
               System.out.println(myString);
               Matcher m1 = a.matcher(myString);
               Matcher m2 = d.matcher(myString);
               Matcher m3 = f.matcher(myString);
               if (m1.find() && m2.find() && m3.find())
                   try {
                       Date parsedDate = sdf.parse(m1.group());
                       SimpleDateFormat print = new SimpleDateFormat(
                               \"yyyy-MM-dd\'T\'HH:mm\");
                       int responseCode = Integer.parseInt(m3.group().trim());
                       System.out.println(print.format(parsedDate) + \" \"
                               + m2.group() + \" \" + responseCode);
                       newLine = print.format(parsedDate) + \" \" + m2.group();
                       // decide true or false
                       if (responseCode >= 500) {
                           if (NewClass4.myLL == null) {
                               System.out.println(\"Link List is empty\");
                           }
                           NewClass4.myLL.insert(newLine, false);
                       } else {
                           NewClass4.myLL.insert(newLine, true);
                       }

                   } // end of second try
                   catch (ParseException e) {
                       e.printStackTrace();
                   }

           }// end of while
           fileReader.close();
           // System.out.println(\"Contents of file:\");
       }// end of first try
       catch (IOException e) {
           e.printStackTrace();
       }

       // Classes.myLL.printList();
   }// end of main
}// end of Classes

myFile.txt
2011-06-14T04:12
2013-06-14T04:12
2012-06-14T04:12

Note: Please make sure the path of the file is in the project location, i think that is the problem

Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package
Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package
Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package
Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package
Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package
Keep getting a null pointer exception for some odd reason im creating the variable and the object but it still isnt working My code is below please help package

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site