Ciao! E' solo un work in progress , ma vorrei comunque conoscere (al più presto! ) il tuo/vostro parere

codice:
In una cartella chiamata aeroportomio creo tre file:

aeroportomio.java
passeggeromio.java
volomio.java


==============================================
Nel file volomio.java scrivo:

package aeroportomio;

public class Volomio
{
   String id;
   String giorno;        // formato aa-mm-gg
   String cittaPartenza;
   String oraArrivo;     // formato hh:mm

}


==============================================
Nel file passeggeromio.java scrivo:

package aeroportomio;

public class Passeggeromio
{
   String cognome;
   String nome;
   String nazionalita;
   String cittaResidenza;
   // volo di arrivo (chiave univoca ID + data)


}


==============================================
Nel file aeroportomio.java scrivo:

package aeroportomio;

import java.util.*;
import java.io.*;

public class Aeroportomio;
{
   List<Passeggeromio> tutteIPasseggeri;
   Map<Volomio> tuttiIVoli;

   public Aeroportomio()
   {
      tuttiIPasseggeri = new LinkedList<Passeggeromio> ();
      tuttiIVoli = new HashMap<Volomio> ();

      public static void main(String[] args)
      {
         (new Aeroportomio()).start();  // esegui il menu
      }

      public void start()
      {
         Scanner inserimento = new Scanner(System.in);
         String comando;
       
         while (true)
         {
	    System.out.println("                                   ");
            System.out.println("                                   ");
            System.out.println("***********************************");
            System.out.println("*       Gestione Aeroporto        *");
            System.out.println("***********************************");
            System.out.print(  [Leggi/Elenco/Nazionalita/Esci] > ");
           
            comando = inserimento.nextLine();
	            
	    if (comando.equalsIgnoreCase("Esci")) 
	    {
	       System.out.println("E' stato un piacere. Grazie e arrivederci alla prossima!");
               break;
	    } 
	            
            else if (comando.equalsIgnoreCase("Leggi")) 
	    {
	       leggi();
            } 
	            
	    else if (comando.equalsIgnoreCase("Elenco")) 
            {
	       elenco();
	    } 
	            
	    else if (comando.equalsIgnoreCase("Nazionalita")) 
	    {
	       nazionalita();
	    } 
	            
	    else 
	    {
	       System.out.println("Comando non valido, riprova perfavore");
            }
         }  // chiudo il while
      }  // chiudo start
   
   
      private void leggi()   // Legge i dati da un file che viene indicato dall'utente
      {
         System.out.println("Nome del file (comprensivo di estensione)? > ");
         String nomeFile = scanner.nextLine(); // a nomeFile si assegna il nome del file che l'utente indica
      
         try 
         {
            Scanner file = new Scanner(new FileReader(nomeFile));

            while (file.hasNextLine()) // finchè il file non è vuoto
            {
               primaRiga = rigaSuccessiva = file.nextLine();
               
               if primaRiga equals ("VOLO")
               {
                  while (rigaSuccessiva equals "VOLO" or "PASSEGGERO")
                  {
                     volomio.id() = rigaSuccessiva; 
                     volomio.giornoPartenza() = rigaSuccessiva;
                     volomio.cittaPartenza() = rigaSuccessiva;
                     volomio.oraArrivo() = rigaSuccessiva;
                  } 
               }
               else if primaRiga equals ("PASSEGGERO")
               {
                   while (rigaSuccessiva equals "VOLO" or "PASSEGGERO")
                  {
                     passeggeromio.cognome() = rigaSuccessiva; 
                     passeggeromio.nome() = rigaSuccessiva;
                     passeggeromio.nazionalita() = rigaSuccessiva;
                     passeggeromio.cittaResidenza() = rigaSuccessiva;
                     // passeggeromio.voloArrivo()
               }
               else 
               {
                  System.out.println("Mi dispiace, file di input non valido");
                  break;   
               }  
	  } // chiudo while
       	        
          catch (FileNotFoundException fnfe) 
          {
             System.out.println("Mi dispiace, non trovo un file con quel nome");
          }
      } // chiudo leggi


      private void elenco() 
   {
       System.out.println("Nome del file (comprensivo di estensione)? > ");
       String nomeFile = scanner.nextLine(); // a nomeFile si assegna il nome del file che l'utente indica
      
       try 
       {
           Scanner file = new Scanner(new FileReader(nomeFile));


   }