【发布时间】:2023-04-08 00:34:01
【问题描述】:
我已经阅读了与此主题相关的其他一些问题,老实说,我对所提供的答案感到非常迷茫,而我确实理解的那些似乎不起作用。
我正在介绍 ap comp sci 课程,因此不胜感激。我的飞机构造函数出现错误,上面的错误是什么,不知道如何解决它我尝试使用超级方法但也许我做错了,因为错误仍然存在。
飞机等级:
public class Airplane {
private Seat[][] seats;
public static final int FIRST_CLASS = 1;
public static final int ECONOMY = 2;
private static final int FC_ROWS = 5;
private static final int FC_COLS = 4;
private static final int ECONOMY_ROWS = 5;
private static final int ECONOMY_COLS = 6;
public Airplane() {
seats = new Seat[FC_ROWS][ECONOMY_COLS];
}
public String toString() {
String str = "";
for (int i = 0; i < FC_ROWS; i++) {
for (int j = 0; j < ECONOMY_COLS; j++) {
str = str + seats[i][j].toString();
}
str += "\n";
}
return str;
}
public class Seat {
private int seatType;
private boolean isReserved;
public static final int WINDOW = 1;
public static final int AISLE = 2;
public static final int CENTER = 3;
public Seat(int inSeatType) {
seatType = inSeatType;
isReserved = false;
}
public int getSeatType() {
return seatType;
}
public void reserveSeat() {
isReserved = true;
}
public boolean isAvailable() {
if (isReserved = false) {
return true;
} else {
return false;
}
}
public String toString() {
if (isReserved == false) {
return "*";
} else {
return "";
}
}
}
}
【问题讨论】:
-
当前代码没有编译错误。虽然它会抛出一个
NPE,但这是次要的。发布代码 sn-p 它实际上显示了您在问题中提到的错误。 -
您的 CIDE 充满了错误。这是其他人没有提到的另一个:你的座位阵列的尺寸没有意义
-
我感觉我们在这里没有看到所有相关代码......我猜你有一个 Seat 的子类,你没有向我们展示。