//******************************************************* // Classe ProvaCoda.java // driver per gestire una struttura dati di tipo coda, // realizzata con una lista dinamica // modellata dalla classe Coda.java, che usa una classe // interna NodoCoda.java //******************************************************* import cs1.Keyboard; public class ProvaCoda { public static void main(String[] args) { int pos, scelta; String dato; Coda coda = new Coda(); while ((scelta = menu()) != 0) { switch (scelta) { case 1: System.out.print("Dato da inserire? "); dato = Keyboard.readString(); coda.aggiungi(dato); break; case 2: try { dato = (String) coda.preleva(); System.out.println("E' stato eliminato dalla coda: " + dato); } catch (CodaVuotaException e) { System.out.println("Impossibile eleminare elementi da una coda vuota"); } break; case 3: try { dato = (String) coda.primo(); System.out.print("Il primo elemento della coda: " + dato); } catch (CodaVuotaException e) { System.out.println("La coda è vuota"); } break; case 4: if (coda.vuota()) System.out.println("Coda vuota"); else System.out.print("La coda contiene:" ); System.out.println(coda.toString("\t")); break; case 0: break; default: System.out.println("Scelta non valida"); break; } } } private static int menu() { System.out.println("\nScelte disponibili:\n"); System.out.println("0. Per uscire"); System.out.println("1. Inserimento di un elemento"); System.out.println("2. Cancellazione del primo elemento"); System.out.println("3. Visualizzazione primo elemento"); System.out.println("4. Visualizzazione della coda"); System.out.print("\nScelta? "); return Keyboard.readInt(); } }