Java 我一直收到NullPointerException,但不知道为什么
我有2个类,在我的Driver.java类中,当我尝试运行它时,它会在进入2个商业建筑后弹出:“线程中的异常”main“java.lang.NullPointerException 在CommercialBuilding.equals(CommercialBuilding.java:39) 位于Driver.main(Driver.java:8)” (这是我一直坚持的CSCI硬件,非常感谢您的帮助)Java 我一直收到NullPointerException,但不知道为什么,java,Java,我有2个类,在我的Driver.java类中,当我尝试运行它时,它会在进入2个商业建筑后弹出:“线程中的异常”main“java.lang.NullPointerException 在CommercialBuilding.equals(CommercialBuilding.java:39) 位于Driver.main(Driver.java:8)” (这是我一直坚持的CSCI硬件,非常感谢您的帮助) 按以下方式更改CommercialBuilding()构造函数,并尝试一下: public Co
按以下方式更改CommercialBuilding()构造函数,并尝试一下:
public CommercialBuilding(String address, double sqFootage, int units) {
super();
this.address = address;
this.sqFootage = sqFootage;
this.units = units;
}
您最好使用编辑器生成构造函数,而不是自己键入
class CommercialBuilding {
private String address;
private double sqFootage;
private int units;
public CommercialBuilding(String add, double footage, int unit) {
add = address;
footage = sqFootage;
unit = units;
}
因此,您需要将其反转为:
private String address;
private double sqFootage;
private int units;
public CommercialBuilding(String add, double footage, int unit) {
address=add ;
sqFootage=footage;
units=unit;
}
交换add=地址代码>至地址=添加代码>
交换<代码>进尺=SQ进尺代码>至<代码>SQ进尺=进尺代码>
交换<代码>单位=单位代码>至<代码>单位=单位代码>
工作正常:
这是否回答了您的问题?CommercialBuilding
构造函数中的赋值语句赋值方向错误。非常感谢!我有时会忘记那些命令不,他们不应该依赖编辑器为他们编写代码;他们需要先学会如何自己写。IDE的“生成代码”功能非常有助于节省时间,但如果您不知道它们生成的是什么或为什么,您就是在妨碍自己。@Zephyr是的,这是真的。秋必须了解如何正确构建构造函数。headfirstjava是一本好书
class CommercialBuilding {
private String address;
private double sqFootage;
private int units;
public CommercialBuilding(String add, double footage, int unit) {
add = address;
footage = sqFootage;
unit = units;
}
private String address;
private double sqFootage;
private int units;
public CommercialBuilding(String add, double footage, int unit) {
address=add ;
sqFootage=footage;
units=unit;
}