当前位置: 首页 > 知识库问答 >
问题:

无法计算getTotalFlightTime()

西门鹏程
2023-03-14

Itinerary类存储有关具有以下成员的旅程的信息:

•一个名为flights的私有ArrayList数据字段,其中包含按DepartureTime递增顺序排列的旅程航班。(提示:您不需要进行排序。)

•使用ArrayList类型的指定航班创建旅程的构造函数。

•名为getTotalFlightTime()的方法,以分钟为单位返回旅程的总飞行时间。(提示:为每个飞行对象调用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;
        }

        //setters
        // If we don't use setter the could would still work because we are getting input in constructor with parameters
        public void SetFlightNo(String Number) {
            flightNo = Number;
        }
        public void SetDtime(GregorianCalendar Dtime) {
            departureTime = Dtime;
        }
        public void SetAtime(GregorianCalendar Atime) {
            arrivalTime = Atime;
        }

        public long getTimeinMillis() {
                return (arrivalTime.getTimeInMillis() - departureTime.getTimeInMillis());
                }
                // getFlightTime method
                public long getFlightTime() {
                return getTimeinMillis() / (60 * 1000);
                }
    }
class Itinerary {


    ArrayList<Flight> flights = new ArrayList<>();

   public Itinerary(){
           this.flights = flights;
    }
    public long getTotalFlightTime(ArrayList<Flight> flights){

    }
    public long getTotalTravelTime(){

    }


}

共有1个答案

狄峰
2023-03-14

如果我正确理解了这些说明,您就不需要对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);
 类似资料:
  • 当我尝试构建项目时。生成失败,出现以下消息。 我看到了两个类似的问题,并尝试了答案中提到的一切。 我尝试过的事情。

  • 我得到以下错误,我不知道为什么。我在多个环境中设置了我的项目,从来没有任何问题,但最近我将项目添加到运行Windows8的环境中,所有的东西都设置正确(例如Maven...),我似乎得到了这个问题 删除.m2存储库,Maven->Update Project... 删除所有文件,Maven->Update project... 更新项目时尝试选择“强制更新快照/发布” 有人对我可以尝试的东西有其他

  • 我被要求为这个问题编写一个算法:给我们一个数组A,我们想知道数组中是否有两个元素U和L,U和L=K 我是这样写我的算法的: 但问题是,这个算法的运行时间是多少?它是O(nlogn)吗?如果是,为什么?如果不是,我如何在O(nlogn)中实现它?

  • 我正在使用ModBus RTU,并试图找出如何计算CRC16。我不需要代码示例。我只是对机制很好奇。我已经了解到,基本的CRC是数据字的多项式除法,根据多项式的长度,用零填充。下面的测试示例应该检查我的基本理解是否正确: 数据字:01001011 多项式:1001(x3+1) 由于最高指数x3而被填充3位 计算:0100 1011 000/1001->余数:011 计算。 null 第二次尝试:由

  • 我使用的是日食火星-2。我想在窗口中创建一个新的mavenSpring启动项目。但是我遇到了这样的错误 任何人都可以帮我解决这个问题吗?

  • 面向对象设计模式 泛化(概化):表示把几类对象类的公共属性和行为抽象成超类,然后其属性和方法被那些子类继承 聚合:表示一个较大的“整体”类包含一个或多个较小的“部分”类 合成:表示关系中“整体”负责其“部分”的创建和销毁,如果“整体”不存在了,“部分”也将不存在。 单例:保证一个类仅能够生成一个对象 组合:表示“部分-整体”的层次结构,并且对部分和整体的使用具有一致性 装饰:动态地给一个对象增加一