jueves, 17 de octubre de 2013

PROGRAMA PILA ESTATICA


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){//Esto se usa cuando la pila esta totalmente llena,

//ya que se incremento en insertar y quedo en 10, de lo contrario

//noz arrojara un error de array

tope--;

pila[tope]=0;

tope--;//se vuelve a decrementar para que este en la pocision correcta, porque

//tenia un numero de mas

}

else{

pila[tope]=0;

tope--;

}

}





MAIN







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:\n¿Que desea hacer con la pila?");

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("Adios!!!!"); break;

default:

System.out.println("Selecion erronea, teclea otra opcion!!!");

}

System.out.println("deseas Realizar Otra Operacion con tu pila? /(S/N)");

r=cap1.nextLine();

} while(r.equalsIgnoreCase("S"));

}

}

No hay comentarios:

Publicar un comentario