Question: Problem Statement (Summary): You are going to develop a simple application for Hotels. Hotel is, actually, a Building, with some extra features. Each hotel as

 Problem Statement (Summary): You are going to develop a simple application

for Hotels. Hotel is, actually, a Building, with some extra features. Eachhotel as a couple of rooms. Each room, has some features, includingits own calendar, to keep its reservation records. To implement and testthis system, you must create six Java classes as follows: Class Hotel(30 marks): Open the Java file Hotel.java that is provided. Note thatevery hotel is a building with some extra features. You must consider

Problem Statement (Summary): You are going to develop a simple application for Hotels. Hotel is, actually, a Building, with some extra features. Each hotel as a couple of rooms. Each room, has some features, including its own calendar, to keep its reservation records. To implement and test this system, you must create six Java classes as follows: Class Hotel (30 marks): Open the Java file Hotel.java that is provided. Note that every hotel is a building with some extra features. You must consider this fact in the implementation of the class Hotel. Complete this Java class using the following specifications: Every hotel has (4 marks) O name rate O O one or more owners one or more rooms Provide the default constructor for the class, which only calls the default constructor of its superclass. (1 mark) Provide the second constructor for the class, with five parameters, hotel name, list of the hotel owners, year of built, number of floors, and hotel rate, which initializes the corresponding instance variables. Note that the proper constructor of the superclass must be called in this constructor. Also, the list of the hotel rooms must be initialized. (4 marks) Provide getter methods for hotel name and owners. (2 marks) Provide a getter method, getRooms, which returns the list of the hotel rooms as an ArrayList of rooms. (1 mark) Provide a getter method, getRoom, with one parameter, room number, which returns the corresponding room as its return type, and otherwise null. (1 mark) Provide a method, addowner, which adds one owner to the hotel's owners list. (1 mark) Provide a method, addRoom, which adds a new room to the hotel. (1 mark) . . Provide a method, reserve, with four parameters, room number, start date, end date, and guest. It will first find the room using one of the above methods. If it finds the room, then it simply calls the reserve method of that room, receives the reservation number and returns it. If the room is not found, it returns zero, which means the reservation was not successful. (4 marks) Provide a method, cancel, with one parameter, reservation number. It should find the room that has this reservation numbers. If it finds the room, then it will call the cancel method of that room with the reservation number given, and then returns true. Otherwise, it returns false, which means the cancellation was not successful. (3 marks) Override the toString method, such that it returns a string including the hotel information, with the format like example below. It shows the hotel information, followed by the rooms' information. (3 marks) Hotel Baba Mama, 3.5 stars. Hotel Owners: Ali Baba Alice Mama Rooms: SINGLE, price=$35.5, Size=200.0, Number=101, Floor=1, Single Room without view DOUBLE, price=$50.5, Size=350.0, Number=102, Floor=1, Double Room without view DOUBLE, price=$55.0, Size=400.0, Number=201, Floor=2, Double Room with view SUITE, price=$80.0, Size=500.0, Number=202, Floor=2, Suite Room with view and balcony Provide standard Java Documentation for all the public methods as well as one brief explanation for the Hotel class at the top of the class. Note that your documentation must follow the correct syntax of Java Documentation and not just simple comments. (5 marks) . Class Tester (20 marks): For this part, you have two options: Option 1: You can complete the tester class, Tester.java, that is provided. You must read every comment and provide the required code to fulfill it. You can also get help and idea from the sample execution outputs provided below. (20 marks) Option 2: You can develop your own tester class, Tester.java. If you select this option, your tester class must generate outputs similar to the sample execution outputs provided below. This means, the main method of your tester class must: Create a hotel, with at least two owners and four rooms (6 marks) Show the hotel and its rooms' information, similar to the sample outputs (4 marks) Perform three successful and one unsuccessful room reservations and show the results (6 marks) Change the current price of a room (1 mark) Cancel one existing reservation (1 mark) Show the statuses of all the rooms (2 marks) O O O Expected output: Hotel Baba Mama, 3.5 stars. Hotel Owners: Ali Baba Alice Mama Rooms : SINGLE, price=$35.5, Size=200.0, Number=101, Floor=1, Single Room without view DOUBLE, price=$50.5, Size=350.0, Number=102, Floor=1, Double Room without view DOUBLE, price=$55.0, Size=400.0, Number=201, Floor=2, Double Room with view SUITE, price=$80.0, Size=500.0, Number=202, Floor=2, Suite Room with view and balcony Room 102 Reservation successful. Reservation number: 10001 Room 102 Reservation successful. Reservation number: 10002 Room 101 Reservation successful. Reservation number: 10003 Sorry, Reservation was not successful. Check the room availability. Room 102 is checked in. Reservation 10003 is canceled. Rooms Statuses Reservation list of room number 101: Vacant. Reservation list of room number 102: Occupied. Reservation Number: 10001. From: 2021-03-06 To: 2021-03-08, Guest: Joe Uncle, $50.5 per night. Reservation Number: 10002. From: 2021-04-02 To: 2021-04-04, Guest: Lu Brother, $52.0 per night. Reservation list of room number 201: Vacant. Reservation list of room number 202: Vacant. import java.sql.Date; import java.time. Year; import java.util.ArrayList; public class Tester { public static void main(String[] args) { // Create a 3.5 stars hotel, named "Baba-Mama", built in 2018, with two floors // The owners' "firstname last name"'s of the hotel are "Ali Baba" and "Alice Mama". // Adding some rooms to this new hotel // SINGLE, price=$35.50, size=200, floor=1, number=101, description="Single Room without view"); // Double, price=$50.50, size=350, floor=1, number=102, description="Double Room without view"); // Double, price=$55.00, size=400, floor=2, number=201, description="Double Room with view"); // Suite, price=80.00, size=500, floor=2, number=202, description="Suite Room with view and balcony" ); // Show the hotel information, including its rooms // Reserve the room number 102 for "Joe Uncle", checkin March 6, 2021, checkout March 8, 2021 // Print out the reservation result // Change the price of the room 102 to $52.00 // Reserve the room number 102 for "Mike Brother", checkin April 2, 2021, checkout April 4, 2021 // Print out the reservation result // Reserve the room number 101 for "Maria Aunt", checkin May 27, 2021, checkout May 28, 2021 // Print out the reservation result // Reserve the room number 101 for "laura Sister", checkin May 25, 2021, checkout May 28, 2021 // Print out the reservation result // Check in the room 102 // Cancel reservation number 10003 and show the cancellation result // Show all the statuses of all the rooms } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!