Here's something I scratched up:
import java.util.List;
class Occupant {
public Occupant(String name, int age) {
setName(name);
setAge(age);
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
private int age;
private String name;
}
class Room {
public Room(int roomNo) {
this(null, roomNo;
}
public Room(Occupant o, int roomNo) {
setOccupant(o);
setRoomNo(roomNo);
}
public void setOccupant(Occupant o) {
this.o = o;
}
public Occupant getOccupant() {
return o;
}
private void setRoomNo(int roomNo) {
ROOM_NO = roomNo;
}
public int getRoomNo() {
return ROOM_NO;
}
private Occupant o;
private final int ROOM_NO;
}
/* overhead waste :( oh well... */
class RoomOperations {
public static void setRooms(List<Room> rooms) {
this.rooms = rooms;
}
public static List getRooms() {
return rooms;
}
public static int findVacantRoom() {
for(Room r : getRooms().toArray(new Room[0]))
if(r.getOccupant() == null)
return r.getRoomNo();
return -1;
}
private static List rooms;
}