/* **********************************
     CLASSE DI PROVA PER CODA IMPLEMENTATA
     CON LISTA AD OGGETTI
   ********************************** */

public class Ex_TuttiInCodaAllaPosta {
  public static void main(String[] args) {

    String[] nomi = {"Ada", "Gino", "Maria", "Giovanni", "Filippo", "Andrea",
                     "Agata", "Salvatore", "Dario", "Loredana", "Enrico"};
                     
    LLCodaObject c = new LLCodaObject();
    
    //riempio la coda di n(1 a 4) nomi
    int k=0, cas, num;
    
    System.out.print("\nAllo sportello della posta...");
                     
    for (int i=0; i<10; i++) {
      //ripete per 10 volte
      
      //inserimento in coda
      num = (int)(Math.random()*4+1);
      System.out.print("\n\nEntrano:");
      try {
        for (k = 0; k < num; k++) {
          cas = (int)(Math.random()*nomi.length);
          c.EnQueque(nomi[cas]);
          System.out.print("\t" + nomi[cas]);
        }
      } catch (CodaFullException e) {
        System.out.println("\n" + e);
      }
        
      
      //recupero dati dalla coda
      num = (int)(Math.random()*4+1);
      System.out.print("\nEscono:");
      try {
        for (k = 0; k < num; k++)
          System.out.print("\t" + ((String)c.DeQueque()));
      } catch (CodaEmptyException e) {
        System.out.println("\nCoda vuota!!");
      }
    }
    
    System.out.println("\nLa giornata continua, ma mi sono stancato a guardare il via vai e vado via!");
  }
}