-2

Keep getting this error, sorry I am a beginner in Java.

Exception in thread "main": java.lang.NullPointerException
at assignment01.Student.addGrade(Student.java:28)
at assignment01.GpaTest.main(GpaTest.java:11)

package assignment01;

    public class Grades 
    {
        private double qualPts;
        private int numCred;

        public double getGPA()
        {
            if(numCred!=0)
            {
                return(qualPts/numCred);
            }
            return numCred;  
        }

        public void addGrade(int creds, double grade)
        {
            grade+=creds+numCred;
            qualPts+=creds*grade;
        }

        public int getNumCred()
        {
            return numCred;
        }
    }

.

package assignment01;

public class Student 
{
    private String name;
    private String bNumber;
    private Grades grades; 

    public Student(String name, String bNumber)
    {
        this.name=name;
        this.bNumber=bNumber;
    }

    public void addGrade(int creds, double grade)
    {   
        grades.addGrade(creds, grade);

    }

.

package assignment01;

public class GpaTest {

    public static void main(String[] args)
    {
        Student theStudent= new Student("Ethan","00000000");
        int CREDITS_ENROLLED1=4;
        double GRADE1=90;
        theStudent.addGrade(1, 100);
        theStudent.addGrade(CREDITS_ENROLLED1,GRADE1);
        System.out.println("Determining the grades of student named Ethan.");   
        System.out.println("Ethan has a grade of 90.");
    }
}
Pranav Singh
  • 17,079
  • 30
  • 77
  • 104
user3200451
  • 19
  • 1
  • 7

2 Answers2

4

grades variable is not initialized. You need to initialize it inside Student constructor:

public Student(String name, String bNumber)
{
  this.name=name;
  this.bNumber=bNumber;
  this.grades = new Grades();
}

You may wish to initialize qualPts and numCred as well

  • This works. So what would you call private Grades grades; Is this an instance of the Grades class called grades? Why do I have to initialize it within the constructor? – user3200451 Feb 05 '14 at 03:39
0

Initialize the object 'grades'.

raVan
  • 296
  • 2
  • 15