miércoles, 22 de marzo de 2017

Cadena Espejo

Crea una función que reciba una cadena de caracteres y la devuelva invertida con efecto espejo, esto es, se concatena a la palabra original su inversa, compartiendo la última letra, que hará de espejo, por lo que la palabra obtenida se lee igual hacia adelante que hacia atrás.

Desde la función principal se pedirá al usuario que introduzca una cadena y haciendo uso de dicha función se le mostrará su correspondiente cadena espejo.



Ejemplo:
Introduzca una cadena:

> “teclado”

Resultado: “tecladodalcet”


SOLUCIÓN EN JAVA:
package cadenainvertida;

import javax.swing.JOptionPane;


public class CadenaInvertida {

    static String espejo(String original){
        int i;
        String nueva="";
        
        for (i=original.length()-1 ; i >= 0 ; i--){
            nueva=nueva+original.charAt(i);
        }
        return original+nueva;
    }
    
    public static void main(String[] args) {
       String cadena;
       
       cadena=JOptionPane.showInputDialog("Introduza una cadena");
       System.out.println("Resultado: "+espejo(cadena));
    }

1 comentario:

  1. Hola amigo, gracias por el programa, solo una observación.
    Para que se comparta la última letra, y de como resultado "tecladodalcet" y no "tecladoodalcet" (se repite la o), el ciclo for de debe corregir, poniendo "-2" desde un principio, así:

    for (i=original.length()-2 ; i >= 0 ; i--)

    Ya con eso sí se compartirá la última letra, como indica el problema.
    Saludos.

    ResponderEliminar