jueves, 17 de octubre de 2013

Pila estática.- Programa Ejemplo

package estructuradatos;

import java.util.Scanner;

public class Pila_Estatica {
public static int op;
public static int tope;
    int pila[]= new int[10];
    public void insertar(){
        if(tope==10)
            System.out.println("Pila llena");
        else
    {
        System.out.println("Proporciona el dato para la pila");
        System.out.println("dato" + tope);
        Scanner cap= new Scanner(System.in);
        pila[tope]=cap.nextInt();
        tope++;
    }
}
    public void imprimir(){
        if(tope>=10){
            for(int topeM=tope-1;topeM>=0;topeM--){
                System.out.println("\n\n" + pila [topeM]);
            }
        }
        else
            System.err.println("pila vacia no hay nada que mostrar");
    }
    public void eliminar(){
        if(tope<0){
            System.out.println("pila vacia");
        }
        else
            if(tope==10){
                tope--;
                pila[tope]=0;
                tope--;
            }
            else{
            pila[tope]=0;
            tope--;
            }     
    }
    public static void main(String[] args) {
        Pila_Estatica p = new Pila_Estatica();
       String r;
       Scanner cap1=new Scanner(System.in);
       Scanner cap=new Scanner(System.in);
       tope=0;
       do{
           System.out.println("Menu principal:\nElija la opción deseada");
           System.out.println("1.- Insertar");
           System.out.println("2.- Eliminar");
           System.out.println("3.- Imprimir");
           System.out.println("4.- Salir");
           op=cap.nextInt();
              switch(op){
              case 1:
                  p.insertar(); break;
              case 2:
                  p.eliminar(); break;
              case 3:
                  p.imprimir(); break;
              case 4:
                  System.out.println("Hasta Pronto"); break;
              default:
                  System.out.println("La opción es incorrecta, intente de nuevo");
          }
            System.out.println("¿Desea realizar otra operación con la pila? /(S/N)");
          r=cap1.nextLine();
        } while(r.equalsIgnoreCase("S"));
    }
}

2 comentarios:

  1. Oye disculpa pero con este programa me dice que package estructuradatos no tiene un metodo main... me ayudas? :S

    ResponderBorrar
    Respuestas
    1. Hola, disculpa la tardanza. Tu main es este:

      public static void main(String[] args) {
      Pila_Estatica p = new Pila_Estatica();
      String r;
      Scanner cap1=new Scanner(System.in);
      Scanner cap=new Scanner(System.in);
      tope=0;
      do{
      System.out.println("Menu principal:\nElija la opción deseada");
      System.out.println("1.- Insertar");
      System.out.println("2.- Eliminar");
      System.out.println("3.- Imprimir");
      System.out.println("4.- Salir");
      op=cap.nextInt();
      switch(op){
      case 1:
      p.insertar(); break;
      case 2:
      p.eliminar(); break;
      case 3:
      p.imprimir(); break;
      case 4:
      System.out.println("Hasta Pronto"); break;
      default:
      System.out.println("La opción es incorrecta, intente de nuevo");
      }
      System.out.println("¿Desea realizar otra operación con la pila? /(S/N)");
      r=cap1.nextLine();
      } while(r.equalsIgnoreCase("S"));
      }
      }

      Borrar