Invertir un String | Java



En este articulo les mostrare como invertir una palabra en Java utilizando Stacks (una forma sencilla de utilizar pilas).
Primero crearemos nuestro archivo de Java Class > Importaremos nuestra libreria de Stack.








Declaramos las variables que vamos a utilzar para nuestro programa, he declarado un String ya definido "palabra" con la/el palabra/valor de momantai, esta sera la palabra que invertiremos y que al final el resultado me tiene que salir como iatnamom después de invertida la palabra. 
La variable "caract" de tipo char sera utilizada para ir almacenando cada uno de los caracteres de la palabra a invertir y esto nos ayudara a almacenar la palabra en una pila(en el Stack).
El String "palinvert" es la variable donde se nos almacenara la palabra después de invertida, las comillas es una manera para darle un valor y no sea null para no evitar problemas .







En la linea 12 vemos la manera en que declaramos un Stack, este Stack lo hemos declarado del tipo Character pero también puede ser declarado como un String o Integer, a nuestro Stack lo declaramos con el nombre de "pila".
Vemos que utilizamos un ciclo for (linea 13) para así ayudarnos a almacenar la palabra declarada en "palabra".
Explicando el for, /int i=0;/ es la variable declarada e inicializada en cero, /i<palabra.length();/ el ciclo for seguira funcionando mientras "i" sea menos a "palabra" ya que lenght nos sirve para determinar el valor que contiene referente a caracteres por ejemplo: momantai contiene 8 caracteres y su valor numero es de 8, /i++/ es el valor de "i" incrementandose más uno.   

Almacenamos de caracter en caractar con forme el ciclo da vueltas en la variable "caract" (linea 14) utilizando charAt(); Este nos sirve para devolver un valor del caraceter seleccionado en la posición elegida de la variable "palabra" y este valor es almacenado en la variable "caract" de tipo char.
En la linae 15 vemos pila.push(caract); Aquí ya estamos almacenando valores en la pila con el metodo de Stack utilizando push que es una operación básica en las pilas que significa apilar, y aquí estamos apilando de caracter en caracter.








Ahora viene la parte por la que estamos aquí, invertir la palabra.
utilizado un for(linea 18) para desapilar (pop), con los mismos valores que el anterior for.
Aquí declaramos un nuevo String, en este caso lo hemos llamado "s" en donde almacenaremos los valores de la pila, utilizando Character.toString(); para convertir los caracteres de tipo Char a String. En su forma en que lo vemos declarando el String de "s" igualado a convertir el valor tope de la pila de char a String, así asignado su valor a "s".
Usamos concat(); para concatenar (linea 20) los caracteres que contiene la pila y así formar la nueva palabra ya invertida. Por último, pila.pop(); es la forma de ir desapilando los valores en la pila.


Utilizamos un println para imprimir en pantalla el valor de palinver (palabra invertida) que contiene el valor de la palabra y invertida.

Y aquí vemos que en efecto, de tener "momantai" ahora tenemos "iatnamom".











Esta es la manera de invertir una palabra, se puede hacer con toda una frase, sólo recuerda que esta es la manera en que yo lo hago y que otros la podrían hacer, y que hay muchas más formas de hacerlo y así.


Te adjunto un archivo con el codigo que he utilizado: Bajar Archivo (Click aquí).

No hay comentarios:

Publicar un comentario