// File: AirDataList.java // Maintains a list of AirData objects and has methods to add an object // to the list and to return the list as a multi-line string. /*************************************************************************** * YOU WILL ADD A NEW METHOD TO THIS CLASS BUT NOT MODIFY THE EXISTING ONES * ***************************************************************************/ import java.util.ArrayList; /** * A class to implement a list of AirData objects */ public class AirDataList { // instance var private ArrayList list; // list of AirData objects /** * Creates an empty list */ public AirDataList() { list = new ArrayList(); } /** * Appends an AirData object to the list. * * @param current the object to be appended to the list */ public void addToList(AirData current) { list.add(current); // calls add method of ArrayList class } /** * Returns the list as a multi-line string, with each line containing the * data for one airline. * * @return the String containing all the data on the list */ public String toString() { // start with awesome headings String out = String.format("%28s%18s%n", "Revenue Miles", "Passenger Miles") + String.format("%12s%16s%18s%n", "Airline", "(in 1000's) ", "(in 1000's) ") + String.format("%12s%16s%18s%n","=======","=============", "==============="); // for each AirData object on the list... for (int i = 0; i < list.size(); i++) { AirData air = list.get(i); // get next AirData obj String name = air.getName(); // get airline name int revMiles = air.getRevMiles(); // get revenue miles int passMiles = air.getPassMiles(); // get passenger miles // concatenate data to output string out = out + String.format("%12s", name) + String.format("%16s", revMiles) + String.format("%18s", passMiles) + "\n"; } return out + "\n"; } } // end of AirDataList class definition =====================================