最长的停放车辆

时间:2016-11-14 03:24:58

标签: java

我有对象的数组列表:

private ArrayList<Vehicle> vehicles = new ArrayList<>()

当用户输入所有细节以添加车辆时,他输入日期和时间:
示例输入:
输入日期:DD / MM / YYYY
13/11/2016
输入时间:HH:MM
10:00

该数组具有20个对象的容量,因此有多个输入,日期和时间被输入为字符串。如何显示停放时间最长的车辆?我有这样的东西,但它根本不起作用。

        long longest =  0;
        for (Vehicle vehicle : vehicles){
            long hours = vehicle.getDateTime().hours();
            if (hours > longest){
                longest = hours;

            }

       }

1 个答案:

答案 0 :(得分:1)

在循环外打印最长的,而不是每次找到更长的

    long longest =  Long.MIN_VALUE;
    Vehicle v = null;
    for (Vehicle vehicle : vehicles){
        long hours = vehicle.getDateTime().hours();
        if (hours > longest){
            longest = hours; 
            v = vehicle;
        }
    }

    if (v!=null) {
        System.out.println("Longest Parked Vehicle is:");
        System.out.println(v);
    } 

并为Vehicle类实现一个toString方法!