For this Lab assignment, you will create an ArrayList of Java Objects, populate them and print out the results. Specifically, you will create an ArrayList of type Flight (ArrayList). A Flight contains...

1 answer below »

For this Lab assignment, you will create an ArrayList of Java Objects, populate them and print out the results.


Specifically, you will create an ArrayList of type Flight (ArrayList). A Flight contains an attribute of type AircraftType, which is modeled above. An AircraftType contains an engineType attribute which is an enumeration type called EngineType.


Steps to create this project:


You should study the modules relating to ArrayLists, ArrayLists of Objects, SimpleDateFormat, and Java Enums.

Create a new project in IntelliJ called for example FlightArrayList and a class FlightArrayList. Follow the pattern in the ArrayLists of Objects module page.

Create the classes Flight and AircraftType and the EngineType enumeration as modeled above. For simplicity, these can be inner classes of your public main class FlightArrayList.

Flight and AircraftType should have public constructors to allow you to easily populate objects of these types.

Flight and AircraftType should have toString() methods that display key Flight and AircraftType and EngineType attributes. Once you have added attributes to you class, you can easily have IntelliJ create your toString() method by right clicking in the code editor of your class and selected the Generator context menu. From there you can ask the IDE to generate toString(), a constructor, and/or getters and setters for the class.

Create a main method that declares a variable of type ArrayList.

To make your life easier, I suggest you create another ArrayList of type ArrrayList and populate it with various aircraft types since a Flight must have an AircraftType. If you have an ArrayList of type ArrrayList pre-populated, you can use the ArrayList get method to refer to an AircraftType, e.g. acType.get(3) where acType is an ArrayList, referring to the fourth element in the AircraftType array list. Set the engineType attributes using one of the EngineType enum values, e.g. EngineType.Jet or EngineType.TurboProp. Set up various aircraft types. Here a few real examples, you can use to populate your AircraftType ArrayList.

AircraftType Examples:


Manufacturer Model Type Designator Engine Type Number Engines

Boeing XXXXXXXXXXB736 Jet 2

Boeing XXXXXXXXXXB738 Jet 2

Airbus A-310 A310 Jet 2

Airbus A-300B2 A30B Jet 2

Airbus A XXXXXXXXXXA XXXXXXXXXXJet 2

Embraer A-20 E314 TurboProp 1

Embraer 195 E195 Jet 2


8. You will also need to set the scheduledArrival and scheduledDeparture times of flights. These schedules are of type Java Date. An easy way to do this to declare a SimpleDateFormat named for example, sdf, then use the sdf to parse a date string into a Java Date.


SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm");


// Now you can convert a dateString to a Java date like this:

Date date = sdf.parse(" XXXXXXXXXX:35")

9. With aircraftTypes and dates, you can now create Flights using the Flight constructor. Create five or more flights, varying data, times, aircraft types, destinations, origins, gates, and so on. Gates should start with a letter, followed by a number. Origin and destination should be three-letter airport codes, e.g. PHL, JFK, CDG, LAX, SFO, ORD, MIA, DFW, etc.


10. Finally print out your results: (requires you to define toString() methods in your Flight and AircraftType classes )


for (Flight flt: fltArrayList) {

System.out.println(flt);

}


Sample Output:

AA 101 PHL/ORD Departs: XXXXXXXXXX:35 Arrives: XXXXXXXXXX:35 Aircraft: Boeing XXXXXXXXXXEngType/Num: Jet/2 Gate: A27

UA 101 PHL/SFO Departs: XXXXXXXXXX:35 Arrives: XXXXXXXXXX:50 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: G15

DL 233 ATL/CDG Departs: XXXXXXXXXX:35 Arrives: XXXXXXXXXX:50 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: B15

WN 101 PHL/LAX Departs: XXXXXXXXXX:35 Arrives: XXXXXXXXXX:50 Aircraft: Airbus-A XXXXXXXXXXEngType/Num: Jet/2 Gate: G15

AA 221 MCO/FLL Departs: XXXXXXXXXX:35 Arrives: XXXXXXXXXX:33 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: C11

UA 199 PHL/JFK Departs: XXXXXXXXXX:35

Answered Same DayMay 13, 2021

Solution

Shashi Kant Singh answered on May 14 2021
24 Votes

air/Aircraft.java
air/Aircraft.java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class Aircraft...

Submit New Assignment

Copy and Paste Your Assignment Here