En este post voy a explicar dos maneras de invertir o “reversear” una cadena en Java. Es decir, dada una cadena, obtener la cadena al revés o la cadena invertida.

Estos dos métodos para invertir una cadena en Java funcionan igual pero están programados de distinta manera. El primero utiliza un ciclo for para iterar la cadena, y el segundo método llama a una función de la clase StringBuilder.
Nota: recomiendo leer cómo escanear datos por teclado en Java.
Algoritmo para invertir una cadena en Java
El algoritmo es sencillo, hay que recorrer la cadena original carácter por carácter y en cada iteración concatenar el carácter a otra cadena limpia. Eso sí, la iteración debe ser al revés; es decir, empezar por el final de la cadena.
Pongamos de ejemplo la palabra “hola“. Si la recorremos al revés, comenzamos por la letra a y la concatenamos a la nueva; luego hacemos lo mismo con la l, la o y la h. Finalmente la nueva cadena tendrá la palabra aloh.
Para obtener el carácter en determinada posición se usa charAt
, y para concatenar se utiliza el operador +=
.
De esta manera podemos invertir una cadena en Java. Ya veremos otro método que no usa ciclos y que llama a una función de StringBuilder
.
Invertir cadena en Java con ciclos
Veamos el primer método para invertir una cadena en Java. Aquí el código:
Declaramos una cadena (que puede venir de cualquier lugar) y una cadena vacía. Luego recorremos la primera de fin a principio (para obtener su longitud usamos length()
) y concatenamos. Finalmente imprimimos la cadena invertida.
Invertir cadena con StringBuilder
Ahora veamos el segundo método que no lleva ninguna codificación de algoritmos, sino una simple llamada a un método de StringBuilder.
Como vemos, la clase StringBuilder (que sirve para muchísimas cosas más) ya tiene un método llamado reverse
, el cual solamente tenemos que llamar.
Eso sí, eso no regresa una cadena, por eso tenemos que llamar a toString
.
Probar y descargar ejercicios
Puedes descargar el código fuente y probarlo por ti mismo; asegúrate de instalar Java y opcionalmente instala NetBeans.
Eso es todo por el momento. Te invito a ver más sobre Java aquí.