オブジェクトの配列を使用するのは初めてですが、何が間違っているのか、なぜNullポインター例外が発生し続けるのかわかりません。オンまたはオフに設定されたスポットライト オブジェクトの配列を持つ Theater クラスを作成しようとしています。しかし、この配列を呼び出すたびに、null ポインター例外が発生します。
package theatreLights;
public class TheatreSpotlightApp {
public static void main(String[] args) {
Theatre theTheatre = new Theatre(8);
System.out.println("element 5 " + theTheatre.arrayOfSpotlights[5].toString());
}
}
package theatreLights;
public class Theatre {
spotlight[] arrayOfSpotlights;
public Theatre(int N){
arrayOfSpotlights = new spotlight[N];
for (int i = 0; i < arrayOfSpotlights.length; i++) {
arrayOfSpotlights[i].turnOn();
}
}
}
package theatreLights;
public class spotlight {
int state;
public spotlight(){
state = 0;
}
public void turnOn(){
state = 1;
}
void turnOff(){
state = 0;
}
public String toString(){
String stringState = "";
if(state == 0){
stringState = "is off";
}
else if(state==1){
stringState = "is on";
}
return stringState;
}
}
配列を作成する際に何か基本的な間違いをしているに違いありませんが、それを理解できません。