feed twitter facebook LinkedIn facebook

Java » Invertir una cadena con Java

Agosto 25, 2007 por Víctor Cuervo . 27864 visitas 50 Comentarios Imprimir Imprimir

En una de nuestras páginas, uno de nuestros visitantes nos pedía un programa sobre como invertir una cadena en Java. Vamos a ver que código necesitamos para poder hacer esto.

Lo primero es tener una cadena. Esto es sencillo:

String sCadena = "LineaDeCodigo";

La idea es muy simple. Iremos recorriendo la cadena, carácter a carácter, desde el último carácter hasta el primero. Para ello nos apoyamos en un bucle for.

for (int x=sCadena.length()-1;x>=0;x--)
		sCadenaInvertida = sCadenaInvertida + sCadena.charAt(x);

Para obtener el último carácter lo haremos mediante el método .length() que nos da el tamaño de la cadena y restandole uno. Esto es así ya que los caracteres de la cadena están numerados del 0 al tamaño de la cadena menos uno.

Ahora solo tendremos que volcar a consola la cadena invertida:

System.out.println(sCadenaInvertida);

Visualizar el ejemplo | Descargar el código

tags: , , , , ,

Artículos relacionados:

50 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

1 3 4 5
  1. lulo
    Septiembre 21, 2010 #

    no funciona

  2. lineadecodigo
    Septiembre 22, 2010 #

    @lulo,

    Qué error te da? Qué es lo que no funciona?

  3. lineadecodigo
    Septiembre 22, 2010 #

    @Angel,

    Te hemos resuelto el ejercicio que nos solicitabas en
    http://lineadecodigo.com/java/rotar-array/

    Espero que te sea de utilidad. :-D

  4. Angel
    Septiembre 29, 2010 #

    pues el link que publicastes no funciona y despues de algunos intentos e podido resolver el proglema en un principio pensaba que era con este metodo despues de buscar en contre otra forma publico el codigo enseguida:
    import java.io.*;
    public class Cadena2{
    public static void main(String[] args) throws IOException{
    BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
    String frase;
    int largo, i;
    System.out.println(“Digite una frase: “);
    frase=leer.readLine();
    largo=frase.length();
    StringBuffer word = new StringBuffer(largo);
    for(i=0; i<largo;i++){
    word.append(frase.charAt(i));
    }
    for(i=0;i<largo;i++){
    String temp = word.substring(0,(largo-1));
    word.setCharAt(0,word.charAt(largo-1));
    word.delete(1,largo);
    word.insert(1,temp);
    System.out.println(word.toString());
    }
    }
    }

  5. Jeyson
    Octubre 1, 2010 #

    buenas Pues esta execelente el codigo de la Inversion pero no se como podira apliacarla a este codigo que me tira siempre el error del -1, y no se como utilizar en ves del String en Char o algo asi la verdad no lo se muy bien.
    import java.io.*;
    public class CadenaInvertida
    {
    public static void main(String[] args)
    {
    char[] cadena = new char[80];
    char[]sCadenaInvertida=new char[80]
    int car, x = 0,i=0;
    try
    {
    System.out.println(“Escriba una cadena de caracteres:”);
    while ((car = System.in.read()) != ‘\r’ && i =0;x–)
    sCadenaInvertida = sCadenaInvertida + sCadena.charAt(x);
    System.out.println(sCadenaInvertida[x]);
    i++;
    }
    while (i < cadena.length && cadena[x] != '');

    }
    catch(IOException ignorada) {}
    }
    }
    Gracias de Antemano y la verdad no se mucho de progra.

  6. lineadecodigo
    Octubre 29, 2010 #

    @varixela, @bryan,

    Para los ejemplos de consonantes y vocales hemos creado
    http://lineadecodigo.com/java/contar-las-vocales-de-una-palabra-con-java/

    http://lineadecodigo.com/java/contar-las-consonantes-de-una-palabra-con-java/

    Espero que os sean de ayuda ambos ejemplos.

  7. Linea de Codigo » Invertir una cadena con reverse en Java
    Diciembre 13, 2010 #

    [...] el artículo Invertir una cadena con Java veíamos como realizar un código que nos permitiese dar la vuelta a una cadena mediante un bucle [...]

  8. PrinCCeziitha
    Febrero 27, 2011 #

    Disculpaaa m urge un programaa.. que llebe caracteres, nmeros y float, entiendo algo pero no me ejecuta.. si m podras ayudar acerlo xk d vdd voi a reprobar si no lo entrego el lunes… Plzzz comunkate conmigo plz!

  9. alex
    Febrero 28, 2011 #

    hola si me pudiera ayudar necesito invertir una cadena y aparte agregarle un simbolo
    ejemplo : la casa
    invertirla
    al asac
    y despues agregarle un simbolo
    a/l/ a/s/a/c

    muchas gracias :)

  10. Rolas
    Octubre 26, 2011 #

    Gracias, lo estaba intentando con otras formas
    pero nunca se me ocurrio la concatenacion
    con la cadena invertida
    gracias!

1 3 4 5

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*