/**************************** ArraySchlangeTest.java **************************/

import AlgoTools.IO;

/** Programm zum Testen der Methoden des ADT Schlange.
 *  Liest Zeichenketten und reiht sie in eine Schlange ein.
 *  Bei Eingabe einer leeren Zeichenkette wird die jeweils vorderste
 *  aus der Schlange ausgegeben und entfernt.
 */

public class ArraySchlangeTest {

  public static void main(String [] argv) {

    Schlange q = new ArraySchlange(100);          // konstruiere Schlange mit 
                                                  // Platz fuer 100 Objekte

    IO.println("Bitte Schlange fuellen durch Eingabe eines Wortes.");
    IO.println("Bitte Schlangen-Kopf entfernen durch Eingabe von RETURN."); 
         
    do {                                          // Beginn der Schleife 

      String eingabe = IO.readString("Input: ");  // fordere String an

      if ( eingabe.length()>0 )                   // falls Eingabe != RETURN 

          q.enq(eingabe);                         // fuege in Schlange ein

      else                                        // falls EINGABE == RETURN

          if ( !q.empty() ){                      // sofern Schlange nicht leer 
              IO.println("entfernt: " +           // kuendige Ausgabe des 
                         q.front() );             // Frontelements an
              q.deq();                            // entferne Frontelement
          }

    } while ( !q.empty() );                       // Ende der Schlangen-Schleife
    IO.println("Schlange ist jetzt leer.");       
  }
}
