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
提交
取消