幕布斯6054654
2024-01-25 15:54:18
Itinerary 類通過以下成員存儲有關行程的信息:? 名為flights 的私有ArrayList 數據字段,其中包含按出發時間升序排列的行程航班。(提示:您不需要進行排序。)? 一個構造函數,用于創建包含ArrayList 類型中指定航班的行程。? 名為 getTotalFlightTime() 的方法,返回行程的總飛行時間(以分鐘為單位)。 (提示:為每個 Flight 對象調用 getFlightTime() 方法。)? 名為 getTotalTravelTime() 的方法,返回行程中從第一個航班的出發時間到最后一個航班的到達時間的總行程時間(以分鐘為單位)。假設所有時間都在同一時區。package que6;/** * * @author vpi764 */import java.util.ArrayList;import java.util.GregorianCalendar;public class TestFlightItinerary { public static void main(String[] args) { lic static void main(String[] args) { ArrayList<Flight>flights = new ArrayList<>(); Flight F1 = new Flight("US230", new GregorianCalendar(2014, 5, 5, 5, 5, 0), new GregorianCalendar(2014, 5, 5, 6, 15, 0)); Flight F2 = new Flight("US235", new GregorianCalendar(2014, 5, 5, 6, 55, 0), new GregorianCalendar(2014, 5, 5, 7, 45, 0)); Flight F3 = new Flight("US237", new GregorianCalendar(2014, 5, 5, 9, 35, 0), new GregorianCalendar(2014, 5, 5, 12, 55, 0)); flights.add(F1); flights.add(F2); flights.add(F3); }}class Flight{ private String flightNo; private GregorianCalendar departureTime; private GregorianCalendar arrivalTime; //Constructor Flight(String SpecNo,GregorianCalendar SpecDtime ,GregorianCalendar SpecAtime ){ this.flightNo = SpecNo; this.departureTime = SpecDtime; this.arrivalTime = SpecAtime; } //Getters public String GetFlightNo() { return flightNo; } public GregorianCalendar GetDtime() { return departureTime; } public GregorianCalendar GetAtime() { return arrivalTime; }
2 回答

冉冉說
TA貢獻1877條經驗 獲得超1個贊
如果我正確理解了說明,則不需要對 ArrayList 進行排序。您所需要做的就是定義一個接受航班 ArrayList 的構造函數。
您的行程類別應該是:
class Itinerary {
ArrayList<Flight> flights; // no need to instantiate, flights passed in as arg
public Itinerary(ArrayList<Flight> flights) {
this.flights = flights;
}
public long getTotalFlightTime(){
// Do stuff
}
public long getTotalTravelTime(){
// Do Stuff
}
}
在您的 main 方法中,您將添加以下內容:
ArrayList<Flight> flights = new ArrayList<>();
flights.addAll(F1, F2, F3);
Itinerary myItinerary = new Itinerary(flights);
添加回答
舉報
0/150
提交
取消