Archivos de la categoría ‘Java’

Palindromo con Pilas en Java

Publicado: julio 22, 2010 en Java

import java.io.*;
 class Pila{
//creando la clase pila
 private static final int TAMPILA=79;
 //private char elemento;//se agrego este codigo para
 private int cima;
 private char []listaPila;
 //constructor de la clase pila
 public Pila()
 {
 cima=-1;
 listaPila=new char[TAMPILA];
 }
 public void insertar(char elemento) throws Exception
 {
 if(pilaLlena())
 {
 throw new Exception("Desbordamiento de pila");
 }
 cima++;
 listaPila[cima]=elemento;
 }
 public char quitar()throws Exception
 {
 char aux;
 if(pilaVacia())
 {
 throw new Exception("pila vacia, no se puede exceder");
 }
 aux=listaPila[cima];
 cima--;
 return aux;
 }
 public boolean pilaVacia()
 {
 return cima==-1;
 }
 public boolean pilaLlena()
 {
 return cima==TAMPILA-1;
 }
 public void limpiarPila()
 {
 cima=-1;
 }
 }

En otro archivo:

import java.io.*;
 class Palindromo{
 public static void main(String args[])throws IOException{
 Pila pilaChar;
 char ch;
 boolean esPal;
 String pal;
 BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in));
 try{
 pilaChar=new Pila();//crea pila vacia
 System.out.println("Teclea la palabra"+" a vereficar si es palindromo:");
 System.out.flush();
 pal=entrada.readLine();
 //se crea la pila con los caracteres de la palabra
 pilaChar=new Pila();
 for(int i=0; i<pal.length();)
 pilaChar.insertar(pal.charAt(i++));
 //se comprueba si es palindromo
 esPal=true;
 for(int j=0;esPal&& !pilaChar.pilaVacia();)
 {
 esPal=pal.charAt(j++)==pilaChar.quitar();
 }
 pilaChar.limpiarPila();
 if(esPal)
 System.out.println("La palabra "+pal+" es un palindromo \n");
 else
 System.out.println("la palabra "+pal+" no es un palindromo \n");
 }
 catch(Exception er)
 {
 System.out.println("Exception;"+er);
 }
 }
 }

Espero que les sirva :)
Anuncios