Java 我一直收到NullPointerException,但不知道为什么

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

我有2个类,在我的Driver.java类中,当我尝试运行它时,它会在进入2个商业建筑后弹出:“线程中的异常”main“java.lang.NullPointerException 在CommercialBuilding.equals(CommercialBuilding.java:39) 位于Driver.main(Driver.java:8)”

(这是我一直坚持的CSCI硬件,非常感谢您的帮助)


按以下方式更改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;
    }