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