我有对象的数组列表:
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;
}
}
答案 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方法!