Pues un NullPointer en la 106 sólo puede ser porque this.pila sea null o this.pila[i] sea null. Asegúrate de que has hecho un
Código java:
Ver originalthis.pila = new LaClaseQueSea[numeroElementos]
y que para cada uno de ellos has hecho un
Código java:
Ver originalthis.pila[i] = new LaClaseQueSea(....);
ya que el primer new sólo reserva los "huecos" para guardar las clases, pero no instancia las clases. Después de ese primer new, los this.pila[i] son null.
Se bueno.