嗨,我正在用Java创建2D对象数组,并希望访问其中一个函数,该函数仅返回变量的布尔值,但由于某种原因,它会引发错误。代码看起来很简单,但是我无法弄清楚自己在做什么错。我的猜测与数组的实现有关,但我认为我做对了。我的目标是为100x100网格中的每个值创建类的单独实例。
这是我得到的代码和错误
public class Main {
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot("Rushi's Parking lot", 100, 100);
Vehicle car1 = new Car("License");
parkingLot.registerVehicle();
}
}
public class ParkingLot {
String name;
ParkingSpot[][] parkingGrid;
public ParkingLot(String name, int xSize, int ySize){
this.name = name;
this.parkingGrid = new ParkingSpot[xSize][ySize];
}
public void registerVehicle() {
System.out.println(parkingGrid[0][0].isAvailable());
}
public void getNextSpot(Vehicle vehicle){
}
}
public class ParkingSpot {
private boolean available = true;
private String license;
private int time;
public boolean isAvailable() {
return available;
}
public void reserveSpot(String license){
this.license = license;
this.available = false;
}
}
错误:
Exception in thread "main" java.lang.NullPointerException
at ParkingLot.registerVehicle(ParkingLot.java:14)
at Main.main(Main.java:7)
当创建类型为ParkingLot的对象时,数组parkingGrid仅包含空引用。您实际上需要添加要使用的停车位。
到目前为止,您仅指定parkingGrid的大小为100x100,并包含停车位,但是各个元素均不存在。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句