GfG QA is closing soon... Please refer PRACTICE or GfG now on wards !!

java null pointer exception

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

class Student{
   private int token;
   private String fname;
   private double cgpa;
   public Student(int id, String fname, double cgpa) {
      super();
      this.token = id;
      this.fname = fname;
      this.cgpa = cgpa;
   }
   public int getToken() {
      return token;
   }
   public String getFname() {
      return fname;
   }
   public double getCgpa() {
      return cgpa;
   }
}

public class Solution {

    public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
      int totalEvents = Integer.parseInt(in.nextLine());
        Student s[]=new Student[totalEvents];
        int i=0;
      while(totalEvents>0){
         String event = in.next();
            if(event.equals("ENTER"))
                {
                String name=in.next();
                double cgpa=in.nextDouble();
                int token=in.nextInt();
                s[i++]=new Student(token,name,cgpa);
                for(int j=0;j<i;j++)
                    {
                    for(int k=0;k<s.length-j-1;k++)
                        {
                        if(s[k].getCgpa()>s[k+1].getCgpa())
                            {
                            Student temp=s[k];
                            s[k]=s[k+1];
                            s[k+1]=temp;
                        }
                        else if(s[k].getCgpa()==s[k+1].getCgpa())
                            {
                            if(s[k].getFname().compareTo(s[k+1].getFname())<1)
                                {
                                Student temp=s[k];
                            s[k]=s[k+1];
                            s[k+1]=temp;
                        
                            }
                            else if(s[k].getFname().equals(s[k+1].getFname()))
                                    {
                                        if(s[k].getToken()<s[k+1].getToken())
                                            {
                                            Student temp=s[k];
                            s[k]=s[k+1];
                            s[k+1]=temp;
                        
                                        }
                                    }
                        }
                        
                    }
                }
            }
                
            
            
                                    
                                    else if(event.equals("SERVE"))
                                    i--;
          
           //Complete your code
           
         totalEvents--;
      }
                                    for(int f=i-1;f>=0;f--)
                                    System.out.println(s[f].getFname());
                                    
    }
}

asked Feb 26, 2017 by anonymous
...