Saltar al contenido

Recursión en Java – Javatpoint

septiembre 25, 2021

La recursividad en Java es un proceso en el que un método se llama a sí mismo continuamente. Un método en Java que se llama a sí mismo se llama método recursivo.

Hace que el código sea compacto pero complejo de entender.

Sintaxis:

returnntype methodname () {// código a ejecutar methodname (); // llamando al mismo método}

Ejemplo 1 de recursividad de Java: tiempos infinitos

public class RecursionExample1 {static void p () {System.out.println («hola»); pag(); } public static void main (String[] argumentos) {p (); }}

Producción:

hello
hello
...
java.lang.StackOverflowError

Ejemplo 2 de recursividad de Java: tiempos finitos

public class RecursionExample2 {cuenta int estática = 0; vacío estático p () {cuenta ++; si (cuenta

Producción:

hello 1
hello 2
hello 3
hello 4
hello 5

Ejemplo 3 de recursividad de Java: número factorial

public class RecursionExample3 {static int factorial (int n) {if (n == 1) return 1; else return (n * factorial (n-1)); } public static void main (String[] args) {System.out.println («Factorial de 5 es:» + factorial (5)); }}

Producción:

Funcionamiento del programa anterior:

factorial(5) 
   factorial(4) 
      factorial(3) 
         factorial(2) 
            factorial(1) 
               return 1 
            return 2*1 = 2 
         return 3*2 = 6 
      return 4*6 = 24 
   return 5*24 = 120

Ejemplo 4 de recursividad de Java: Serie de Fibonacci

public class RecursionExample4 {static int n1 = 0, n2 = 1, n3 = 0; static void printFibo (int count) {if (count> 0) {n3 = n1 + n2; n1 = n2; n2 = n3; System.out.print («» + n3); printFibo (cuenta-1); }} public static void main (String[] args) {recuento int = 15; System.out.print (n1 + «» + n2); // imprimiendo 0 y 1 printFibo (count-2); // n-2 porque 2 números ya están impresos}}

Producción:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
close