QUESTION

Text
Image


Jasmine Girls Hostel wants you to create a small application for them to assign rooms to members. You need to implement the classes based on the class diagram and description given below.
Member Member(int memberId, String name) - Initialize the memberId and name instance variables appropriately with the values passed to the constructor. Implement the appropriate getter and setter methods. Room $\operatorname{Room}()$ - Generate the roomNo using the static variable roomCounter. The value of roomNo should start from 500 and should be incremented by 1 for the subsequent values. Initialize the roomNoCounter in static block. - Initialize the capacity instance variable to 4. Implement the appropriate getter and setter methods. Admin assignRoom(Room[] rooms, Member member) - Assign a room to the member using the below conditions: - One room can accommodate 4 members. - Allocate the first room that is empty. - Once a room is fully occupied, only then a new room should be assigned. - Update the capacity of the allocated room accordingly. Test the functionalities using the provided Tester class.
Sample Input and Output Input \begin{tabular}{|l|l|l|} \hline \multicolumn{2}{|c|}{ Parameters } & \multicolumn{1}{l|}{ Values } \\ \hline \multirow{2}{|l|}{ rooms } & $\{$ room1, room2, room3, room4, room5 \\ \hline \multirow{2}{*}{ member } & memberId & 101 \\ \cline { 2 - 3 } & name & Serena \\ \hline \end{tabular} \begin{tabular}{|l|l|l|} \hline \multicolumn{2}{|c|}{ Parameters } & \multicolumn{1}{c|}{ Values } \\ \hline rooms & $\{$ room1, room2, room3, room4, room5 \\ \hline \multirow{2}{*}{ member } & memberId & 102 \\ \cline { 2 - 3 } & name & Martha \\ \hline \end{tabular} \begin{tabular}{|l|l|l|} \hline \multicolumn{2}{|c|}{ Parameters } & \multicolumn{1}{c|}{ Values } \\ \hline rooms & & $\{$ room1, room2, room3, room4, room5 \\ \hline \multirow{2}{*}{ member } & memberId & 103 \\ \cline { 2 - 3 } & name & Nia \\ \hline \end{tabular}
\begin{tabular}{|l|l|l|} \hline \multicolumn{2}{|c|}{ Parameters } & \multicolumn{1}{c|}{ Values } \\ \hline rooms & \{room1, room2, room3, room4, room5 \\ \hline \multirow{2}{*}{ member } & memberId & 104 \\ \cline { 2 - 3 } & name & Maria \\ \hline \end{tabular} \begin{tabular}{|l|l|l|} \hline \multicolumn{2}{|c|}{ Parameters } & \multicolumn{2}{c|}{ Values } \\ \hline \multirow{2}{*}{ rooms } & \{room1, room2, room3, room4, room5 \\ \hline \multirow{2}{*}{ member } & memberId & 105 \\ \cline { 2 - 3 } & name & Eva \\ \hline \end{tabular} Note: room1, room2, room 3 , room 4 and room 5 are objects of Room class. Output Hi Serena! Your room number is 500 Hi Martha! Your room number is 500 $\mathrm{Hi}$ Nia! Your room number is 500 Hi Maria! Your room number is 500 $\mathrm{Hi}$ Eva! Your room number is 501

class Room {
//Implement your code here

//Uncomment the below method after implementation before verifying
//DO NOT MODIFY THE METHOD
/*
public String toString(){
return "Room\nroomNo: "+this.roomNo+"\ncapacity: "+this.capacity;
}
*/
}

class Member {
//Implement your code here

//Uncomment the below method after implementation before verifying
//DO NOT MODIFY THE METHOD
/*
public String toString(){
return "Member\nmemberId: "+this.memberId+"\nname: "+this.name;
}
*/
}

class Admin {
//Implement your code here
}


class Tester {
public static void main(String args[]) {
Room room1 = new Room();
Room room2 = new Room();
Room room3 = new Room();
Room room4 = new Room();
Room room5 = new Room();

Room[] totalRooms = { room1, room2, room3, room4, room5 };

Admin admin = new Admin();

Member member1 = new Member(101, "Serena");
Member member2 = new Member(102, "Martha");
Member member3 = new Member(103, "Nia");
Member member4 = new Member(104, "Maria");
Member member5 = new Member(105, "Eva");

Member[] members = { member1, member2, member3, member4, member5 };

for (Member member : members) {
admin.assignRoom(totalRooms, member);
if(member.getRoom()!=null) {
System.out.println("Hi "+member.getName()+"! Your room number is "+member.getRoom().getRoomNo());
}
else {
System.out.println("Hi "+member.getName()+"! No room available");
}
}
}
}

Public Answer

QWTBQN The First Answerer