【发布时间】:2021-06-24 13:15:03
【问题描述】:
目前我有这样的代码 School 数组代表学校,数组中的每个元素代表一个教室 目前我想将班级教师姓名存储在数组中,如果尚未分配班级教师,则该特定数组元素为“空”
import java.util.*;
public class Main
{
public static void main(String[] args) {
String[] school = new String[8];
initialise(school);
}
private static void initialise( String schoolRef[] ) {
for (int x = 0; x < schoolRef.length; x++ ) schoolRef[x] = "empty";
System.out.println(Arrays.toString(schoolRef));
}
}
这个输出是
[empty, empty, empty, empty, empty, empty, empty, empty]
但是现在我想创建一个名为 School 的班级和一个名为 Classroom 的班级 我想使用 Classroom 对象数组
School.java
import java.util.Arrays;
public class School {
private Room[] rooms;
public static void initialise(Room[] schoolRef) {
for (int x = 0; x < schoolRef.length; x++) {
schoolRef[x].setName("empty");
System.out.println(Arrays.toString(schoolRef));
}
}
}
Room.java
public class Room {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
}
Main.java
public class Main {
public static void main(String[] args) {
Room[] rooms = new Room[8];
School.initialise(rooms);
}
}
但是,当我运行 Main 方法时,我得到了 NullPointerException。 我想创建一组 Classroom 对象,而不是在一个 Class 中编写所有内容,而且我不确定自己的方法做错了什么。 感谢任何帮助。谢谢
【问题讨论】:
-
你得到的是空指针,因为 schoolRef[x] 为空