private static Person[] createPersons(int N) {
System.out.println("To be implemented - create "+N+" Person");
Person person[] = new Person[N];
for(int i = 0; i < N; i++){
System.out.println("error1");
int age = 20 + i;
String name = "Mr. Espresso" + i;
final char gender = 'M';
**person[i].setName(name);**
person[i].setAge(age);
person[i].setGender(gender);
}
return person;
public void setAge( int age ) {
this.age = age;
}
/**
* Sets the gender of this person.
*
* @param gender this person's age
*/
public void setGender( char gender ) {
this.gender = gender;
}
/**
* Sets the name of this person.
*
* @param age this person's name
*/
public void setName( String name ) {
this.name = name;
}
我正在尝试创建一个人(对象)数组并用值填充它。但是它在person [i] .setName(name)上给出了NullPointerException;谁能解释我为什么?
setName / age / gender指的是person对象类中的方法。如下所示。
我已阅读其他文章,但我没有看到。
答案 0 :(得分:1)
您需要在person数组中创建每个Person对象。
您可能需要在错误行之上
person[i] = new Person();