为了账号安全,请及时绑定邮箱和手机立即绑定

我无法弄清楚 getTotalFlightTime()

我无法弄清楚 getTotalFlightTime()

幕布斯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贡献1788条经验 获得超4个赞

ArrayList 维护元素添加的顺序。也许这就是暗示。



查看完整回答
反对 回复 2024-01-25
?
冉冉说

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);


查看完整回答
反对 回复 2024-01-25
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信