Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / February 2007

Tip: Looking for answers? Try searching our database.

Null Pointer Exception

Thread view: 
BlackJackal - 07 Feb 2007 14:29 GMT
I am working on a homework problem and I have run into a brick wall.
I am receving a

java.lang.NullPointerException
at InputGrades.main(InputGrades.java:15)

Error message when trying to run the program, it compiles just fine.
As far as I can tell everything looks fine.  The problem calls for me
to create three classes with the first two being the base  and the
third being where all the action takes place.  Please take a look and
point out my stupidity.

   public class CollegeCourse
  {
     private String ID;
     private int CH;
     private char LG;
      public static void main(String[] args)
     {

     }
      public String getID()
     {
        return ID;
     }
      public int getCH()
     {
        return CH;
     }
      public char getLG()
     {
        return LG;
     }
      public void setID(String a)
     {
        ID = a;
     }
      public void setCH(int a)
     {
        CH = a;
     }
      public void setLG(char a)
     {
        LG = a;
     }

  }

   public class Student
  {
     private int stuid;
     private CollegeCourse courses[] = new CollegeCourse[5];
      public static void main(String[] args)
     {

     }
      public int getstuid()
     {
        return stuid;
     }
      public void setstuid(int a)
     {
        stuid = a;
     }
      public CollegeCourse getcourses(int a)
     {
        return courses[a];
     }
      public void setcourses(int a, CollegeCourse c)
     {
        courses[a] = c;
     }
  }

import javax.swing.*;
   public class InputGrades
  {
      public static void main(String[] args)
     {
        Student students[] = new Student[10];
        String temp;
        int sel;
        char grade;
        CollegeCourse place = new CollegeCourse();
        String grades = "aAbBcCdDfF";
        for(int i = 0; i < 10; ++i) {
           temp = JOptionPane.showInputDialog(null,"Enter ID for
Student #" + (i+1));
           sel = Integer.parseInt(temp);
           students[i].setstuid(sel);
           for(int b = 0; b < 5; ++b) {
              temp = JOptionPane.showInputDialog(null,"Enter in
Course ID for Course #" + (b+1));
              place.setID(temp);
              temp = JOptionPane.showInputDialog(null,"Enter in
Credit Hours for Course #" + (b+1));
              sel = Integer.parseInt(temp);
              place.setCH(sel);
              do {
                 temp = JOptionPane.showInputDialog(null,"Enter in
Letter Grade for Course #" + (b+1));
                 grade = temp.charAt(0);
                 if(grades.indexOf(grade) == -1) {
                    JOptionPane.showMessageDialog(null,"You entered
an Incorrect Grade Try again");
                 }
              } while (grades.indexOf(grade) == -1);
              place.setLG(grade);
              students[b].setcourses(b, place);
           }
        }
     }
  }
Gordon Beaton - 07 Feb 2007 14:45 GMT
> I am working on a homework problem and I have run into a brick wall.
> I am receving a
>
> java.lang.NullPointerException
> at InputGrades.main(InputGrades.java:15)

The following line creates an array of 10 Student references, however
it doesn't create the actual Student objects, so each array element is
initially null:

>          Student students[] = new Student[10];

[...]

A few lines further down, this is where your exception occurs:

>             students[i].setstuid(sel);

You need to create the Student objects before you can use them.

/gordon

Signature

[ don't email me support questions or followups ]
g o r d o n  +  n e w s  @  b a l d e r 1 3 . s e

BlackJackal - 07 Feb 2007 14:59 GMT
> The following line creates an array of 10 Student references, however
> it doesn't create the actual Student objects, so each array element is
[quoted text clipped - 15 lines]
> [ don't email me support questions or followups ]
> g o r d o n  +  n e w s  @  b a l d e r 1 3 . s e

So do I have to put information into the Student objects first?  If so
what is the most effiecient way to accomplish this task.  Thanks in
advance
Gordon Beaton - 07 Feb 2007 15:27 GMT
> So do I have to put information into the Student objects first?

You have to *create* the Student objects first. Something like this:

 for (int i=0; i<10; i++) {
   students[i] = new Student();
 }

You probably don't need a loop just for this, you could also create
each element at the start of the existing loop.

/gordon

Signature

[ don't email me support questions or followups ]
g o r d o n  +  n e w s  @  b a l d e r 1 3 . s e

BlackJackal - 07 Feb 2007 16:33 GMT
Thanks for the Help!!!!!


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.