Я запускаю некоторые строки кодов в CoffeeDregs, чтобы увидеть, работает ли код, и хотя DrJava компилирует код в порядке, он внезапно перестает работать в Dregs на линии «Room room = rooms [i ]». Может ли кто-нибудь сказать мне, почему это происходит, и как я могу попытаться это исправить?Код перестает работать наполовину в CoffeeDregs
Если я пытаюсь запустить код в DrJava, я получаю сообщение об ошибке; java.lang.NullPointerException at Hotel.checkIn (Hotel.java:24)
Но я не знаю, связано ли это с тем, что он предназначен для запуска в Dregs или фактическая ошибка, вызывающая это.
Мой код выглядит следующим образом;
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;
}
}
Пожалуйста, разместите сообщение об ошибке или предупреждения о трассировке стека, чтобы лучше помочь. – Phani
Привет, я редактировал ошибку, которую я получаю при работе в DrJava. Я не знаю, что вы подразумеваете под трассировкой стека, извините. – Rob
Эй, Роб, это не имеет ничего общего с CoffeeDregs. Это связано с списком комнат. Вы написали комнаты = новый номер [10] ;, который фактически не делает никаких комнат, он просто освобождает место на 10 номеров. В номерах еще нет. Поэтому, когда вы получаете доступ к комнате [i], вы получаете сообщение об ошибке, потому что нет места. Я могу помочь вам в этом, но мне нужно знать, что вы пытаетесь сделать. Похоже, вы пытаетесь проверить всех 3 гостей во всех 10 номерах. Это верно? Если вам нужна какая-то серьезная помощь в течение крайнего срока, оставьте свою контактную информацию в своем профиле. Я голландский. –