使用用户定义的数组时出现空指针异常

时间:2014-11-10 20:50:16

标签: java arrays nullpointerexception

验证后,程序成功运行并将用户输入存储到last_name变量中。 但是当我试图将last_name放在student数组中时,它会给我一个空指针异常。如果省略for循环中的第三行,程序运行正常。 在这里," setStudentLastName"是Student类中的一个void方法,它接受一个字符串参数

//Create a array using the data from user

Student student[] = new Student[numOfStudents];

for(int i=0;i<student.length;i++)
{
  int j = i+1;
  last_name = Validator.validUpperCase(sc,"Enter student "+j+" last Name: ");
  student[i].setStudentLastName(last_name);
}  

1 个答案:

答案 0 :(得分:3)

您必须initialize对象数组才能访问它

for(int i=0;i<length;i++)
{
    student[i]=new student();
}

在您的代码中添加

for(int i=0;i<student.length;i++)
  {
       int j = i+1;
       last_name = Validator.validUpperCase(sc,"Enter student "+j+" last Name: ");
       student[i]=new student();
       student[i].setStudentLastName(last_name);

  }