Null Pointer Exception

B

BlackJackal

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.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.setcourses(b, place);
}
}
}
}
 
G

Gordon Beaton

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.setstuid(sel);


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

/gordon
 
B

BlackJackal

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.setstuid(sel);


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

/gordon


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
 
G

Gordon Beaton

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 = 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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top