lunes, 13 de febrero de 2017

Invertir Frase o Palabra en Java.

El programa que os muestro hoy es capaz de esperar la entrada por teclado por parte del usuario de una palabra o frase, para después invertir el orden. Veamos el código:


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

Related Posts Plugin for WordPress, Blogger...