Hello,
I think the problem is this:
you create a new StudentRecord but you don't assign the object to the
Student

public Student(String name, double mathG, double englisG, double scienceG,
int id){
StudentRecord st=new StudentRecord();
st.setName(name);
st.setMathGrade(mathG);
st.setEnglishGrade(englisG);
st.setScienceGrade(scienceG);
*this.studentRecord = st;*
this.studentID=id;
increaseStudentCount();
}

2010/4/2 Juan Antonio Fernandez <[email protected]>

> Hello,
>
> I´m trying to do the exercise of Lab 1014 and I´ve got a problem.
>
> Here is my code.
>
> ////////STUDENT CLASS///////
>
> public class Student {
>     private StudentRecord studentRecord;
>     private int studentID;
>     private static int studentCount = 0;
>
>     public Student(String name, double mathG, double englisG, double
> scienceG, int id){
>         StudentRecord st=new StudentRecord();
>         st.setName(name);
>         st.setMathGrade(mathG);
>         st.setEnglishGrade(englisG);
>         st.setScienceGrade(scienceG);
>         this.studentID=id;
>         increaseStudentCount();
>     }
>
>
>     public StudentRecord getStudentRecord(){
>         return this.studentRecord;
>     }
>
>
>     public int getstudentID(){
>         return this.studentID;
>     }
>
>
>     public static int getStudentCount(){
>         return studentCount;
>     }
>
>     public static void increaseStudentCount(){
>         studentCount++;
>     }
>
>
> /////MAIN CLASS//////
>
> public class Main {
>     public static void main(String[] args){
>         Student student1 = new Student("Juan",9,7,5,1);
>         Student student2 = new Student("Maria",6,4,8,2);
>         Student student3 = new Student("Luis",8,4,3,3);
>
>         /**
>         * Printing student details
>         */
>
>         System.out.println("Student ID: "+student1.getstudentID());
>         System.out.println("Name: "+student1.getStudentRecord().getName());
> <------------ HERE IS THE ERROR
>
>         System.out.println("Total number of students:
> "+Student.getStudentCount());
>     }
> }
>
> When I compile the main class I receive the following error on the
> highlighted line.
>
> Student ID: 1
> Exception in thread "main" java.lang.NullPointerException
>         at Main.main(Main.java:21)
> Java Result: 1
> BUILD SUCCESSFUL (total time: 0 seconds)
>
> I guess that the problem is that since I create a new studentRecord object
> inside the Student constructor when I try to access to that object it
> doesn´t exists anymore or something like that. As far as I  understand the
> exercise I must create a Student object which creates a StudentRecord object
> and then print information about both objects. If I want to use proper
> encapsulation but I do not know how to do it.
>
> Could you help me?
>
> Regards
>
> JA
> --
> To post to this group, send email to
> [email protected]
> To unsubscribe from this group, send email to
> [email protected]<javaprogrammingwithpassion%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/javaprogrammingwithpassion?hl=en

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaprogrammingwithpassion?hl=en

To unsubscribe, reply using "remove me" as the subject.

Reply via email to