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 737-600 B736 Jet 2


Boeing 737-800 B738 Jet 2


Airbus A-310 A310 Jet 2


Airbus A-300B2 A30B Jet 2


Airbus A-340-500 A-340-500 Jet 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("12-10-2020 09: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: 12-10-2020 07:35 Arrives: 12-10-2020 09:35 Aircraft: Boeing-737-600 EngType/Num: Jet/2 Gate: A27


UA 101 PHL/SFO Departs: 12-10-2020 08:35 Arrives: 12-10-2020 11:50 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: G15


DL 233 ATL/CDG Departs: 12-10-2020 16:35 Arrives: 12-11-2020 07:50 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: B15


WN 101 PHL/LAX Departs: 12-10-2020 08:35 Arrives: 12-10-2020 11:50 Aircraft: Airbus-A-340-500 EngType/Num: Jet/2 Gate: G15


AA 221 MCO/FLL Departs: 12-10-2020 05:35 Arrives: 12-10-2020 07:33 Aircraft: Airbus-A-310 EngType/Num: Jet/2 Gate: C11


UA 199 PHL/JFK Departs: 12-10-2020 08:35

Answered Same DayMay 13, 2021

Answer To: For this Lab assignment, you will create an ArrayList of Java Objects, populate them and print out...

Shashi Kant answered on May 14 2021
144 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 {
    public static void main(String[] args) {
        Aircraft flightArrayList = new Aircraft();
        ArrayList flightList = new ArrayList<>();
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm");
        AircraftType[] airTypes = new AircraftType[6];
        airTypes[0] = flightArrayList.new AircraftType("Boeing", "737-600", "B736", EngineType.Jet, 2);
        airTypes[1] = flightArrayList.new AircraftType("Boeing", "767-800", "B738", EngineType.Electrical, 2);
        airTypes[2] = flightArrayList.new AircraftType("Airbus", "A-310", "A310", EngineType.Jet, 2);
        airTypes[3] = flightArrayList.new AircraftType("Airbus", "A-300B2", "A30B", EngineType.Jet, 2);
        airTypes[4] = flightArrayList.new AircraftType("Airbus", "A-340-500", "A-340-500", EngineType.Jet, 2);
        airTypes[5] = flightArrayList.new AircraftType("Embraer", "A-20", "E314", EngineType.TurboProp, 1);
        Flight flight1, flight2, flight3, flight4, flight5, flight6;
        try {
            flight1 = flightArrayList.new Flight("101", "American Airlines", "PHL", "ORD", airTypes[0],
                    sdf.parse("17-10-2020 09:35"), sdf.parse("17-10-2020 12:35"), "A27");
            flight2 = flightArrayList.new Flight("101", "United Airlines", "PHL", "SFO", airTypes[1],
                    sdf.parse("18-10-2020 10:45"), sdf.parse("18-10-2020 14:30"), "G15");
            f...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here