Veramente c'è una bella differenza fra l'algoritmo che ti ho proposto e quello che hai fatto tu.
Si tratta di prevedere un metodo (cercaMinimo(), ad esempio) che riceve un parametro (l'automobile trovata al passo precedente, null al primo giro) e ritorna l'automobile con kilometraggio minimo (ma maggiore rispetto a quella passata come argomento, se non nulla).

Il main, a questo punto, è di una banalità impressionante:

codice:
   public static void main(String[] args) {
      Automobile a = cercaMinimo( null );
      while (a != null) {
         System.out.println("Marca: " + a.getMarca());
         System.out.println("Modello: " + a.getModello());
         System.out.println("KM: " + a.getKm());
         a = cercaMinimo( a );
      }
   }
Il metodo cercaMinimo deve occuparsi delle seguenti cose:

1) Aprire il file
2) Scorrerlo tutto tenendo in memoria solo l'auto con km minimo, maggiore rispetto a quella passata nel parametro (se non nulla).
3) Chiudere il file.

Non è così complicato... io ci ho messo meno di 15 minuti per scrivere tutto il programma.


Ciao.