2005 Hotel
<< 2006Customer | APQuestionsTrailIndex | 2005Tickets >>
Question from the College Board
Reservation.java
public class Reservation
{
private String guestName;
private int roomNumber;
public Reservation(String guestName, int roomNumber){
this.setGuestName(guestName);
this.setRoomNumber(roomNumber);
}
public void setGuestName(String guestName) {
this.guestName = guestName;
}
public String getGuestName() {
return guestName;
}
public void setRoomNumber(int roomNumber) {
this.roomNumber = roomNumber;
}
public int getRoomNumber() {
return roomNumber;
}
public String toString(){
return "Guest: "+this.getGuestName()
+" Room: "+this.getRoomNumber();
}
}
Hotel.java
import java.util.ArrayList;
public class Hotel
{
private Reservation[] rooms;
private ArrayList waitList;
public Hotel(int numberOfRooms) {
rooms=new Reservation[numberOfRooms];
waitList = new ArrayList();
}
public Reservation requestRoom(String guestName){
/* to be implemented in part (a) */
return null;
}
public Reservation cancelAndResassign(Reservation res){
/* to be implemented in part (b) */
return null;
}
public void report(){
System.out.println("Rooms:");
for (int i=0; i<rooms.length;i++){
if (rooms[i]==null)
System.out.println("Room "+i+": empty");
else
System.out.println(rooms[i]);
}
System.out.println("Waiting List:");
if (waitList.size()==0){
System.out.println("empty");
} else for (Object n:waitList){
System.out.println((String)n);
}
}
}
HotelTester.java
public class HotelTester
{
public static void main(String[] args){
Hotel hotel=new Hotel(5);
hotel.report();
System.out.println("above should be empty");
Reservation a= hotel.requestRoom("Alice");
Reservation b=hotel.requestRoom("Bob");
Reservation c=hotel.requestRoom("Clare");
Reservation d=hotel.requestRoom("Dan");
Reservation e=hotel.requestRoom("Ed");
Reservation f=hotel.requestRoom("Fred");
hotel.requestRoom("Greg");
hotel.report();
System.out.println("above should be full with 2 waiting");
if (f==null){
System.out.println("f is null as it should be");
}else{
System.out.println("Error: f is not null as it should be");
}
Reservation g=hotel.cancelAndResassign(c);
Reservation h=hotel.cancelAndResassign(d);
Reservation i=hotel.cancelAndResassign(e);
hotel.report();
System.out.println("Fred should be in room 2, Clare should not be in the list");
System.out.println("Greg should be in room 3, Dan should not be in the list");
System.out.println("Room 4 should be empty");
if (i==null){
System.out.println("i is null as it should be");
}else{
System.out.println("Error: i is not null as it should be");
}
}
}
