gpt4 book ai didi

java - 对象数组的空指针异常

转载 作者:行者123 更新时间:2023-12-01 08:14:22 26 4
gpt4 key购买 nike

我刚开始使用对象数组,但无法弄清楚我做错了什么以及为什么我不断收到空指针异常。我正在尝试创建一个 Theater 类,其中包含一组设置为打开或关闭的聚光灯对象。但是 - 每当我调用这个数组时,我都会遇到空指针异常。

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;

}
}

我在创建数组时一定犯了一些基本错误,但无法弄清楚。

最佳答案

替换

arrayOfSpotlights[i].turnOn();

arrayOfSpotLights[i] = new Spotlight();
arrayOfSpotlights[i].turnOn();

线路

arrayOfSpotlights =  new spotlight[N];

将创建一系列聚光灯。但是,它不会用聚光灯填充该数组。

关于java - 对象数组的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com