es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede calcular la suma en una función recursiva en Java.

Este código permite al usuario ingresar valores y luego toma la suma de todos los valores dados y luego la devuelve por recursión. El código permite al usuario ingresar cada entero y proporciona la suma.

import java.util.Scanner;

public class Recursion {

public static int Recursion1(int userSum) 
{

    if (userSum == 0) {
        return userSum;
        } else {
        return userSum + Recursion1(userSum - 1);
        }

}       

public static void main(String[] args) 
{
    int userSum = 0;
    Scanner scan = new Scanner(System.in);

    System.out.println("Program Started");

    System.out.println(Recursion1(userSum));

    int counter = 0;
    int i;
    for(i=0;i < 5;i++) {
        //ask user input 
         System.out.print("Enter any number: ");
         userSum = scan.nextInt();
    }
      scan.close();
      int sumNum=Recursion1(userSum);
      System.out.println("The sum of digits is: "+sumNum);
      System.out.println("Scanner Closed.");
}

}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    ¿Qué hace el código?

    El código permite al usuario ingresar valores enteros, suma todos los valores dados y luego calcula la suma por recursión. El método recursion1 toma el usuarioSuma ingresado y, si es igual a cero, lo devuelve. De lo contrario, llama recursivamente a sí mismo con el parámetro del valor actual de usuarioSuma menos 1 y luego suma el valor actual de usuarioSuma al valor devuelto.

    En el método principal, se inicializa usuarioSuma en 0 y se utiliza un bucle for para solicitar al usuario la entrada 5 veces. Luego llama al método recursion1 con usuarioSuma como parámetro y lo almacena en la variable sumNum. Finalmente, imprime el resultado de sumNum y cierra el escáner.

    ¿Cuál es el propósito de la recursión en el código?

    La recursión se utiliza para calcular la suma de los valores de entrada dados por el usuario. En lugar de usar un bucle para sumar los valores, se utiliza la recursión para llamar a la función de forma recursiva, sumando el valor actual al valor sumado anteriormente hasta que se alcance el caso base de cero. Esto permite una forma concisa y eficiente de sumar los valores sin usar variables adicionales o bucles.

Comments are closed.