java

Invertir una cadena o String en Java

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.

Invertir cadena en Java con ciclos y StringBuilder

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:

/**
 Invertir una cadena en Java, método 1
 @author parzibyte
*/class Main {
 public static void main(String[] args) {
  String cadena = "Programando en Java desde parzibyte.me";
  // Esta será la cadena invertida, primero está vacía
  String invertida = "";
  // Recorremos la original del final al inicio
  for (int indice = cadena.length() - 1; indice >= 0; indice--) {
   // Y vamos concatenando cada carácter a la nueva cadena
   invertida += cadena.charAt(indice);
  }
  System.out.println("Cadena original: " + cadena);
  System.out.println("Cadena invertida: " + invertida);

 }
}

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.

/**
 Invertir una cadena en Java, método 2
 @author parzibyte
*/class Main {
 public static void main(String[] args) {
  String cadena = "Programando en Java desde parzibyte.me";
  // Crear un StringBuilder a partir de la cadena
  StringBuilder stringBuilder = new StringBuilder(cadena);
  // Y llamar al método reverse de StringBuilder (lo convertimos a cadena con toString)
  String invertida = stringBuilder.reverse().toString();
  System.out.println("Cadena original: " + cadena);
  System.out.println("Cadena invertida: " + invertida);

 }
}

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í.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.