Hola a todos... alguien tiene una idea de cómo crear una aplicacion en java que lea una palabra y diga si es palindroma o no... y que almacene cada letra ingresada en un nodo...con pilas y eso.. no entiendo..... un saludo y muchas gracias a quien pueda..
Copyright © 2024 Q2A.MX - All rights reserved.
Answers & Comments
Verified answer
AMIGO DEPRONTO ESTO TE AYUDE (palindroma)
package palindromo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author BACHA G
*/
public class PALINDROMO {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String cadena = null;
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader leer = new BufferedReader(input);
try {
System.out.println("Intruduce una palabra::.." );
cadena = leer.readLine();
} catch (IOException ex) {
Logger.getLogger(PALINDROMO.class.getName()).log(Level.SEVERE, null, ex);
}
compareTo(cadena);
}
public static void compareTo(String cadena) {
String cad = "";
String aux=null;
String[] contract;
if(cadena.contains(" 0")){
StringTokenizer tk= new StringTokenizer(cadena," ");
//System.out.println(tk.countTokens());
while(tk.hasMoreTokens()){
aux=tk.nextToken();
cad=cad+aux;
}
}else{
cad=cadena;
}
System.out.println(cad);
contract= new String[cad.length()];
StringBuffer sb = new StringBuffer(cad.length());
for(int i=contract.length-1;i>=0;i--)
sb.append(cad.charAt(i));
sb.toString();
System.out.println(sb);
if(cad.contentEquals(sb)){
System.out.println("Es palindromo");
}else{
System.out.println("NO es palindromo");
}
}
}
Aquà tienes un ejemplo fácil para determinar si una palabra o frase es un palÃndromo o no.
1) Pide por pantalla al usuario que introduzca una frase o palabra por el teclado.
2) Llama al método "isPalindrome(String phrase)" para determinar si es un palÃndromo o no.
3) Este método convierte la phrase a minúsculas y elimina los espacios en blanco que pudiera haber.
Luego compara la primera posición del String (phrase) introducido con la última, la segunda con la penúltima y asà sucesivamente.
Si es palÃndromo se cumplirá que dichas posiciones contienen siempre un valor igual.
Observa el siguiente ejemplo que te dejo, ejecútalo en modo de depuración con puntos de interrupción si es necesario para observar lo que hace paso a paso.
http://pastie.org/2888168
Un saludo y suerte :)
Espero que no quieras que te hagan el programa:
ahi va una idea
1 crea dos pilas pila1 y pila2
2 con un ciclo desde cero hasta la longitud menos uno de la cadena ve recorriendo la cadena y extrae el caracter que se encuentre en indice actual del ciclo, valida que no sea un espacio, si no es un espacio introduce el caracter en la pila1
3 con un ciclo desde la longitud menos uno hasta cero de la cadena ve recorriendo la cadena y extrae el caracter que se encuentre en indice actual del ciclo, valida que no sea un espacio, si no es un espacio introduce el caracter en la pila2
ahora ambas pilas tienen la misma cantidad de elementos
4 crea una variable que almacene el tamaño de una de las pilas por ejemplo tamanioPilas
5 crea una variable acumuladira por ejemplo acumuladorIgualdades
6 con un ciclio desde uno hasta tamanioPilas ve sacando en cada iteracion del ciclo un elemento de cada una de las pilas y compara ambos elementos, si son iguales sumale uno a acumuladorIgualdades
7 finalmente si acumuladorIgualdades es igual a tamanioPilas entonces la frase introducida es un palindromo