public class Flight { private String flightNumber; private String origin; private String destination; private Passenger[] passengers; private int passengersOnBoard; private int numSeats; /** Constructor @param flightNumber @param destination @param origin @param numSeats */ public Flight(String flightNumber, String origin, String destination, int numSeats) { this.flightNumber = flightNumber; this.origin = origin; this.destination = destination; this.passengers = new Passenger[numSeats]; this.passengersOnBoard = 0; this.numSeats = numSeats; } /** Retrieve flight's number @returns String */ public String getFlightNumber() { return flightNumber; } /** Change flight's number @param flightNumber */ public void setFlightNumber(String flightNumber) { this.flightNumber = flightNumber; } /** Retrieve flight's origin @returns String */ public String getOrigin() { return origin; } /** Change flight's origin @param origin */ public void setOrigin(String origin) { this.origin = origin; } /** Retrieve flight's destination @returns String */ public String getDestination() { return destination; } /** Change flight's destination @param destination */ public void setDestination(String destination) { this.destination = destination; } /** A passenger boards the flight @param Passenger @returns boolean -- true of the passenger boarded successfully */ public boolean addPassenger(Passenger p) { if(passengersOnBoard >= numSeats) { return false; } passengers[passengersOnBoard++] = p; return true; } /** Print all info about the flight */ public void printInfo() { System.out.println("Flight Number: " + flightNumber); System.out.println("Origin: " + origin); System.out.println("Destination: " + destination); System.out.println("Number of passengers on board: " + passengersOnBoard); if(passengersOnBoard > 0) { System.out.println("Passenger List:"); } for(int i = 0; i < passengersOnBoard; i++) { System.out.println("\tPassenger " + (i+1) + ": " + passengers[i].getInfo()); } } }