我在CoffeeDregs中运行了几行代码,以查看代码是否有效,尽管DrJava很好地编译了代码,但它突然停止在'Room = room at‘行的残渣中运行。有人能告诉我为什么会发生这种事吗?我怎么才能试着去解决它呢?
如果我试图在DrJava中运行代码,就会得到一个错误;java.lang.NullPointerException at Hotel.checkIn(Hotel.java:24)
但是我不知道这是因为它是在垃圾中运行的,还是一个导致这种情况的实际错误。
我的代码如下;
class Hotel{
Room[] rooms;
Hotel() {
rooms = new Room[10];
Guest rob = new Guest("Rob");
Guest jing = new Guest("Jing");
Guest kevin = new Guest ("Kevin");
checkIn(rob);
checkIn(kevin);
checkIn(jing);
}
void checkIn(Guest guest){
System.out.println(rooms.length);
for (int i=1; i<rooms.length; i++){
Room room = rooms[i];
room.setGuest(guest);
return;
}
}
public static void main(String[] args) {
new Hotel();
}
}
class Guest{
String guestName;
Guest(String n) {
this.guestName = n;
}
}
class Room{
Guest guest = null;
public Guest getGuest(){
return guest;
}
public void setGuest( Guest guest){
this.guest = guest;
}
}发布于 2016-01-11 22:20:43
我还得把房间建好。做过
for (int i=0; i<rooms.length;i++){
rooms[i] = new Room();
}https://stackoverflow.com/questions/34730454
复制相似问题