RECURSIVIDAD

 ¿Qué es la recursividad?

Es una técnica que  permite que un bloque de código, función se llame a si mismo. Puede ejecutarse el numero de veces que nosotros queramos.


Es usado para simplificar las lineas de código que se desean escribir, o también porque algunos problemas no pueden ser resueltos con una iteracion o bucles.


EJEMPLO


El siguiente ejemplo sencillo es para observar como funciona la recursividad en Java.



Importar la librería  java.util.logging.Logger.

Importar la librería java.util.logging.Level.




Crear una clase, que en este caso llamado TDARecursividad.

Dentro del main, crear un objeto de la clase. En este caso llamado objEsc.






Creamos un método de tipo public void, en este caso el nombre es bajarEscalera, que recibe como argumento una variable de tipo int llamada escalones.

Luego, un if que indique si escalones es menor a cero, que imprima mediante consola  el mensaje "No hay escalones para bajar".

Si no, ejecutar un try, y dentro de este escribir el método Thread.sleep() y como argumento un 500, que sirve para pausar el tiempo de ejecución de ese código en unos cuantos milisegundos. 









Hacemos la primera impresión en consola con el mensaje "Bajando escalon" y concatenando la variable escalones.








Aquí es donde hacemos uso de la recursividad, volvemos a llamar al método bajarEscalera, y como argumento le restamos en uno.

Ese código se ejecutara hasta que llegue a cero.

Escribimos un catch, para capturar posibles errores que puedan existir en el try. Como argumento escribimos una excepcion que sera capturada en la variable ex.


Logger.getLogger().log(level.SEVERE,null, ex), nos permite crear una instancia de un logger(Registrador) y dentro de getLogger ponemos el nombre de nuestra clase, le indicamos que es una clase y llamando también al metodo getName() para obtener el nombre ésta. Luego, en level.SEVERE indica que es un registro de grado severo, null y ex que es nuestra variable que recoge las excepciones.








Llamar a la función en el main, y como argumento debe contener un numero entero. 










El resultado debe verse así.







































Comentarios

Entradas populares de este blog

TIPOS DE DATOS ABSTRACTOS.

MEMORIA DINÁMICA

ELIMINAR UN NODO DEL INICIO