package cap9.pila;

import IngressoUscita.Console;

class MenuPila
{ private static void stampaMenu()
  { Console.scriviStringa("Scegli:");
    Console.scriviStringa(
      "1 Inserisci una stringa nella pila");
    Console.scriviStringa(
      "2 Estrai una stringa dalla pila");
    Console.scriviStringa(
      "3 Stampa il contenuto della pila");
    Console.scriviStringa("4 Verifica se la pila e' vuota");
    Console.scriviStringa("5 Verifica se la pila e' piena");
    Console.scriviStringa("6 Esci");
  }
  public static void main(String[] args)
  { Pila pila = new Pila();
    for (;;)
    { stampaMenu();
      int s = Console.leggiIntero();
      switch (s)
      { case 1:
          Console.scriviStringa("Stringa da inserire ?");
          String x = Console.leggiStringa();
          if (!pila.push(x))
            Console.scriviStringa(
              "Il dato non e' stato inserito (pila piena)");
          break;
        case 2:
          Object o = pila.pop();
          if (o != null)
            Console.scriviStringa(
              "La stringa estratta e' " + o);
          else
            Console.scriviStringa(
              "Non posso estrarre: la pila e' vuota");
          break;
        case 3:
          Console.scriviStringa(pila.toString());
          break;
        case 4:
          Console.scriviStringa(
            "Pila vuota: " +
            (pila.isEmpty() ? "vero" : "falso"));
          break;
        case 5:
          Console.scriviStringa(
            "Pila piena: " +
            (pila.isFull() ? "vero" : "falso"));
          break;
        case 6:
          System.exit(0);
        default:
          Console.scriviStringa("Scelta non valida");
      }
    }
  }
}
