2016-11-14 5 views
-3

を停め:ユーザー入力すべての詳細が車両を追加する場合は最長私は、オブジェクトのArrayListを持っている車両

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; 

      } 

     } 
+2

これまでに尋ねたことはありませんか?また、*働かないことは誰にも役立たない。 *何がうまくいかない? *どのように動作しませんか? – Li357

+1

_println_をループの後に移動する必要があります。そうしないと、_println_がループの後で何回も呼び出される可能性が高くなります。 – Gulllie

答えて

1

印刷ループの外最長のではなく、毎回あなたもはや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); 
    } 

を見つけると、車クラスのtoStringメソッドを実装!

+0

私は最後の部分が欠けていたので、何時間も後に解決しました。もう一度感謝します。 – tomaszsvd

+0

次回はデバッガを使用してみてください;) –

関連する問題