Metodo_Principal.java (Metodo Principal)
JAVA:
JAVA:
import java.io.*;
public class Metodo_Principal{
//Declaramos el metodo principal
public static void main (String args[])throws IOException {
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
int Espacios = 0;
char Resp, op;
String aux;
//--- Imprimir Menu ---- \\
System.out.println("\n :: XROM RELOADED :: 19/07/07 \n");
System.out.print("\t Cuantos espacios quiere en la Pila (entre 3 y 30 recomendable)? :");
Espacios = Integer.parseInt(entrada.readLine());
Pila Ejecutar = new Pila(Espacios);
System.out.println("\n\n\t --- //---- Menu Pila------\\\\---- \n");
do {
System.out.println("\n\n1.- Imprimir Pila"); // Mostrar
System.out.println("2.- Agregar Elemento a la pila"); // Push
System.out.println("3.- Quitar Elemento de la pila"); // Pop
System.out.print("\n\n Elija una Opcion : ");
aux = entrada.readLine();
op = aux.charAt(0);
//---- Elegir opcion ---\\
switch (op) {
case '1':
Ejecutar.Imprimir();
break;
case '2':
Ejecutar.Push();
break;
case '3':
Ejecutar.Pop();
break;
default:
System.out.println("opcion fuera de rango !!");
} // Fin del switch
System.out.print("Desea hacer otra operacion ?? S / N ");
aux = entrada.readLine();
Resp = aux.charAt(0);
} while (Resp == 'S' Resp == 's');
System.out.println(" Garcias por utilizar este programa.. ");
System.out.println("\t para mas informacion en :: WWW.XROMRELOADED.TK ::");
} // Fin del metodo main
} // Fin de la calse
Pila.java (Clase y Metodos)
JAVA:
// Libreria necesaria para introducir datos desde el Teclado
import java.io.*;
// Inicio de la Clase Pila
public class Pila {
//----- Atributos de la pila ------\\
public int Pila []; // Estructura de la pila
public int Top, Max , Elem; // variables para la pila
//Top : El Tope de la pila , referencia al ultimo elemento que esta en la pila
//Max : Maximo de espacios que tiene la pila
//Elem : Elemento que se agrega a la pila (Tecleado por el usuario)
public char Resp; // Variables para SubMenus.
public String aux;
//----- Contructor -------\\
public Pila (int Espacios){ // se recibe como parametro los Espacios de la pila
Pila = new int [Espacios]; // Asignamos los espacios en la Pila
Max = Pila.length - 1;
Top = -1; // Top se declara como -1 como referencia a que no existen datos en la pila
} // fin del constructor
//----- Metodos de la pila -------\\
// Metodo Imprimir ------------------------------------------
public void Imprimir () {
for (int n = 0 ; n <= Max ; n++ ) { System.out.println(n + ".- " + Pila [n]);
}
} //----------------------------------- Fin del Metodo Imprimir
// Metodo Push ---------------------------------------------
public void Push ( ) throws IOException { // Metodo para ingresar datos ...
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
do {
// if (1)
if(Top != Max) { // Si la pila No esta llena ....
// Se puede agregar un nuevo dato a la pila ....
System.out.print("\t Ingrese un numero entero : ");
Elem = Integer.parseInt(entrada.readLine());
Top ++; // Se incrementa Top como referencia de que se agrego un nuevo dato
Pila[Top] = Elem; // Se agrega el nuevo elemento a la pila
// if (1.1)
if (Top == Max) { // Si la pila quedo llena entoces ...
// Imprimir mensaje
System.out.print("\n La Pila a quedado llena !! ");
// con esta variable detenemos el bucle do - while
Resp = 'N';
} // Fin del if (1.1)
} else {
System.out.println("\n Pila llena !! Imposible introducir un valor a la pila");
Resp = 'N'; // detenemos el bucle
} // Fin del if (1)
// if (2)
if (Resp != 'N') {
// Si es diferente de No , entoces seguir preguntado si se desea introducir mas datos
System.out.print("Desea introducir un dato mas ??");
aux = entrada.readLine();
Resp = aux.charAt(0);
} // Fin del if (2)
} while (Resp == 'S' Resp == 's'); // Continuar ciclando simpre y cuando sea Resp = 's'
} //------------------------------------- Fin del Metodo Push
// Metodo Pop -----------------------------------------------
public void Pop () {
if(Top != -1) { // Si la pila no esta vacia entonces ....
System.out.println("Se borro el Dato : " + Pila[Top]);
// Eliminar dato
Pila[Top] = 0; // remplaza el valor por un cero (Eliminado)
Top --; // Top se reduce para decir que un elemento se borro
} else { // De lo contrario imprime .."que la pila esta vacia"
System.out.println("Pila Vacia... Imposible Eliminar");
} // fin del if
} //-------------------------------------- Fin del Metodo Pop
} // Fin de la Clase Pila
No hay comentarios:
Publicar un comentario