Question: Complete the implementations of various classes in a Flight Management, We consider a database that stores information about passengers and flights. Each passenger record (e.g.,
Complete the implementations of various classes in a Flight Management, We consider a database that stores information about passengers and flights. Each passenger record (e.g., String name, double TicketAmount, int flightID) can be uniquely identified by a String ID (e.g., e1), whereas each flight record (e.g., String airline and String flight for flight name and airline name, respectively ) can be uniquely identified by an integer id. You must implement all methods in the FlightManagementSystem by manipulating the two attributes passengers and flights, each of which declared as a HashMap. class FlightManagementSystem f HashMap
package fms; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap;
public class FlightManagementSystem { /* * Each entry in a 'passengers' map contains * a unique ID (this is different from the flightID defined in the passenger class), and its associated information object. */ HashMap
/* * Each entry in a 'flights' map contains * a unique id (this is different from the flightID defined in the passenger class) and its associated information object. */ HashMap
/** * Initialize an empty database. */ public FlightManagementSystem() { }
/** * Add a new passenger entry. * @param id - id of the passenger * @param info - information object of the passenger * @throws IdAlreadyExistsExceptoin if 'id' is an existing passenger id */ public void addPassenger(String id, PassengerInfo info) throws IdAlreadyExistsExceptoin { } }
/** * Remove an existing passenger entry. * @param id - id of the passenger * @throws IdNotFoundException if 'id' is not an existing passenger id */ public void removePassenger(String id) throws IdNotFoundException { }
/** * Add a new flight entry. * @param id id of the flight * @param info information object of the flight * @throws IdAlreadyExistsExceptoin if 'id' is an existing flight id */ public void addFlight(Integer id, FlightInfo info) throws IdAlreadyExistsExceptoin { }
/** * Remove an existing flight entry. * @param id id of some flight * @throws IdNotFoundException if 'id' is not an existing flight */ public void removeFlight(Integer id) throws IdNotFoundException { }
/** * Change the flight of passenger with id 'eid' to a new flight with id 'did'. * * You can assume that 'did' denotes a flight different from * the current flight of the passenger denoted by 'eid'. * @param eid id of some passenger * @param did id of some flight * @throws IdNotFoundException if either eid is a non-existing passenger id or did is a non-existing flight id. */ public void changeFlight(String eid, Integer did) throws IdNotFoundException { }
/** * Retrieve the name of passenger with id 'id'. * @param id id of some passenger * @return name of the passenger with id 'id' * @throws IdNotFoundException if 'id' is not an existing passenger id */ public String getPassengerName(String id) throws IdNotFoundException { }
/** * Retrieve the names of all passengers of the flight with id 'id'. * If 'id' a non-existing flight id, then return an empty list. * @param id id of some flight * @return List of names of passengers whose flight has id 'id' */ public ArrayList
/** * Retrieve passengers flight information object. * @param id id of some passenger * @return The information object of the passengers flight * @throws IdNotFoundException if 'id' is not an existing passenger id */ public FlightInfo getFlightInfo(String id) throws IdNotFoundException { }
/** * Retrieve a list, sorted in increasing order, * the information objects of all stored passengers. * * Hints: * 1. Override the 'compareTo' method in PassengerInfo class. * 2. Look up the Arrays.sort method in Java API. * @return A sorted list of information objects of all passengers. */ public PassengerInfo[] getSortedPassengerInfo() { }
/** * Retrieve the average ticket paid by all passengers in flight with id 'id'. * @param id id of some flight * @return average ticket paid by all passengers in a flight with id 'id' * @throws IdNotFoundException if id is not an existing flight id */ public double getAverageTicketAmount(Integer id) throws IdNotFoundException { }
}







-
Returns:
average ticket paid by all passengers in a flight with id 'id'
Throws:
IdNotFoundException - if id is not an existing flight id
-

-

-

FlightInfo public FlightInfo (java.lang.String name, java.lang.String airline) Parameters: name - - flight name (e.g., SourceDestination, LondonToronto) to set airline - - airline (e.g., AirCanada) name to set Method Detail getName public java.lang.String getName() Returns: name - flight name to get setName public void setName (java.lang.String name) Parameters: name - - flight name to set getairline public java.lang.String getairline () Returns: airline-name of airline setairline public void setairline (java.lang.String airline) Parameters: airline - - airline name to set equals public boolean equals(java.lang.Object obj) Two Flight objects are equal if their name and airline are equal. Overrides: equals in class java.lang.Object Returns: Whether the two flights are equal FlightManagement System public FlightManagement System () Initialize an empty database. Method Detail addPassenger public void addPassenger (java.lang.String id, PassengerInfo info) throws IdAlreadyExistsExceptoin Add a new passenger entry. Parameters: id - - id of the passenger info - - information object of the passenger Throws: IdAlreadyExistsExceptoin - if 'id' is an existing passenger id removePassenger public void remove Passenger (java.lang.String id) throws IdNotFoundException Remove an existing passenger entry. Parameters: id - - id of the passenger Throws: IdNotFoundException - if 'id' is not an existing passenger id addFlight public void addFlight (java.lang. Integer id, FlightInfo info) throws IdAlreadyExistsExceptoin Add a new flight entry. Parameters: id - id of the flight info - information object of the flight Throws: IdAlreadyExistsExceptoin - if 'id' is an existing flight id removeFlight public void removeFlight (java.lang. Integer id) throws IdNotFoundException Remove an existing flight entry. Parameters: id - id of some flight Throws: IdNotFoundException - if 'id' is not an existing flight changeFlight public void changeFlight (java.lang.String eid, java.lang. Integer did) throws IdNotFoundException Change the flight of passenger with id 'eid' to a new flight with id 'did'. You can assume that 'did' denotes a flight different from the current flight of the passenger denoted by 'eid'. Parameters: eid - id of some passenger did - id of some flight Throws: IdNotFoundException - if either eid is a non-existing passenger id or did is a non- existing flight id. getPassengerName public java.lang.String getPassengerName (java.lang.String id) throws IdNotFoundException Retrieve the name of passenger with id 'id'. Parameters: id - id of some passenger Returns: name of the passenger with id 'id' Throws: IdNotFoundException - if 'id' is not an existing passenger id getPassengerNames public java.util.ArrayList
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
