Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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 flights; HashMap passengers; /* All methods must be implemented via flights and passengers */ Override the compareTo and equal methods in the PassengerInfo class. Override the equals method in the FlightInfo class. For simplicity, you can assume that a passenger cannot be added in multiple flights

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 passengers;

/* * 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 flights;

/** * 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 getPassengerNames(Integer id) { }

/** * 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 { }

}

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

  • Returns:

    average ticket paid by all passengers in a flight with id 'id'

    Throws:

    IdNotFoundException - if id is not an existing flight id

  • image text in transcribed

  • image text in transcribed

  • image text in transcribed

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 getPassengerNames (java.lang. Integer id) Retrieve the names of all passengers of the flight with id 'id'. If 'id' a non-existing flight id, then return an empty list. Parameters: id - id of some flight Returns: List of names of passengers whose flight has id 'id' public FlightInfo getFlightInfo (java.lang.String id) throws IdNotFoundException Retrieve passengers flight information object. Parameters: id - id of some passenger Returns: The information object of the passengers flight Throws: IdNotFoundException - if 'id' is not an existing passenger id getSortedPassengerinfo public PassengerInfo[] get SortedPassengerInfo() 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. Returns: A sorted list of information objects of all passengers. getAverage TicketAmount public double getAverageTicketAmount (java.lang. Integer id) throws IdNotFoundException Retrieve the average ticket paid by all passengers in flight with id 'id'. Parameters: id - id of some flight public PassengerInfo (java.lang.String name, double TicketAmount, java.lang. Integer Id) Parameters: name - - name to set TicketAmount - - TicketAmount to set Id - - Id to set Method Detail getName public java.lang.String getName() Returns: the name setName public void setName (java.lang.String name) Parameters: name - the name to set get TicketAmount public double getTicketAmount () Returns: TicketAmount setTicketAmount public void setTicketAmount (double TicketAmount) Parameters: TicketAmount - the TicketAmount to set getid public java.lang. Integer getId() Returns: the Id setid public void setId (java.lang. Integer Id) Parameters: Id - - Id to set compare To public int compareTo (PassengerInfo other) Compare this PassengerInfo object and other PassengerInfo object. An PassengerInfo 'infoi' is "smaller" than another 'info2' if infoi's TicketAmount is smaller than info2's. If both have the same TicketAmount, then one with a larger id is considered as "smaller". When being sorted in an increasing order (using Arrays.sort), the smaller PassengerInfo object appears earlier than the larger one. Specified by: compareto in interface java.lang.Comparable Returns: Positive value if this is larger than other, negative if this is smaller than other, zero otherwise. equals public boolean equals (java.lang.Object obj) Two PassengerInfo objects are equal if their name, TicketAmount, and id are equal. Overrides: equals in class java.lang. Object Returns: Whether this PassengerInfo object equals 'obj

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions