Palindromo

Iniciado por vhh70, 21 Abril 2016, 02:57 AM

0 Miembros y 1 Visitante están viendo este tema.

vhh70

Ayuda necesito hacer un programa que diga si una palabra es un palindromo o no, que lea la palabra al ejecutar y los recorridos se hagan con foreach, en java.

engel lex

necesitas hacerlo o que te pasen el código, porque no veo que indiques dudas, ni si quiera el intento de esfuerzo de publicaro en el subforo correcto...

Movido al subforo de Java que es donde se publican las dudas de java
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

d91

Cita de: vhh70 en 21 Abril 2016, 02:57 AM
Ayuda necesito hacer un programa que diga si una palabra es un palindromo o no, que lea la palabra al ejecutar y los recorridos se hagan con foreach, en java.

Se deberia ingresar esa palabra en un arreglo, hacer una copia de ese arreglo y un arreglo recorrerlo hacia adelante y el otro hacia atras e ir comparando si los caracteres son iguales

DarK_FirefoX

Leer la cadena desde el principio al final y del final al principio e ir comprobando la igualdad/desigualdad de los caracteres.

Deberías poner un poco de empeño en solucionar problemas, no esperes que enuncies un problema y todos saltemos corriendo a solucionártelo. Ya aquí tienes la idea, hazlo!

Salu2s

PD: No obstante, es un problema bien sencillo que con una simple busqueda en google hubieras podido solucionar.

vhh70

Todos tienen razon espero puedan ayudarme ya lo hice solo que no me funciona con oraciones, solo con palabras espero puedan ayudarme.
import java.io.*;
class Palindromo{

public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

String cadena="";
String aux="";
int c=1;
System.out.print("Ingresa una palabra o una cadena:_");
cadena = br.readLine();

for(int i = 0; i < cadena.length(); i++){
if (cadena.charAt(i) != cadena.charAt(cadena.length()-1-i)){
c = 0;

}

}
if (c == 1){
System.out.println("Es un palindromo");

}else{
System.out.println("No es un palindromo");
}

}
}

ReaverZ3r0

 :rolleyes: para que lea oraciones deberías ignorar los espacios en la comprobación :)

+ 1 Oculto(s)

en ves de tomar en cuenta solamente caracteres toma en cuenta Strings  claro despues de la comprobacion de cada palabra

DIANA KARINA HM

#7
Bueno una forma de hacerlo seria utilizando un método recursivo espero te sirva lo siguiente

Código (java) [Seleccionar]
/**
*
* @author DIANA
*/
public class Palindromo {

   public static boolean esPalindromo(String palabra) {
       return esPalindromo(palabra, 0, palabra.length() - 1);
   }

   private static boolean esPalindromo(String palabra, int ini, int fin) {
       if (fin - ini + 1 == 0 || fin - ini + 1 == 1) {
           return true;
       } else {
           if (palabra.charAt(ini) == palabra.charAt(fin)) {
               return esPalindromo(palabra, ini + 1, fin - 1);
           } else {
               return false;
           }
       }
   }
}