import java.util.Scanner; class InvertirFrase { public static void main(String[] args) { Scanner sca = new Scanner(System.in); String frase; System.out.println("Introduzca su frase:"); frase = sca.nextLine(); //Convertimos la frase a un array de caracteres(tipo char) char[]conver = frase.toCharArray(); //Bucle que recorre y muestra la frase invertidamente for(int x = conver.length-1; x !=-1; x--){ System.out.print(conver[x]); } } }
Creo que el código no tiene mucha dificultad, aunque la parte más complicada podría ser:
for(int x = conver.length-1; x !=-1; x--){ System.out.print(conver[x]); }
Este bucle for es el encargado de invertir la frase. El for lo que hace es iniciar la variable x al valor que tenga el número de caracteres de la frase - 1. ¿Por qué -1? Pues porque el método length() cuenta los caracteres totales, por ejemplo "hola" tendrá 4 caracteres. Pero en el array la primera letra, que es la h, no estará en la posición 1, sino que estará en la posición 0. Los arrays siempre empiezan a contar desde 0. Luego se irá repitiendo el bucle mientras que el valor de x sea distinto a -1, que significará que ya ha recorrido todas las letras. Por último cada vez que se repita el bucle el valor de x se resta en 1.
Cada vez que el bucle es repetido se imprimirá el valor de la posición del array actual.
No hay comentarios:
Publicar un comentario