language from codeFri, 21 Feb 2025

// Método que debería devolver el factorial de un número // Entrada -> un número: 5 // Debería devolver 120 public static int calcularFactorial(int numero) { int factorial = 0; for (int i = 1; i < numero; i++) { factorial /= i; } return factorial; @Test void calcularFactorial() { }

El método `calcularFactorial` tiene un problema de lógica. La variable `factorial` se inicializa en 0 y luego se divide por cada número desde 1 hasta `numero-1`. Esto no es correcto para calcular el factorial, ya que el factorial de un número `n` se calcula multiplicando todos los números desde 1 hasta `n`. Aquí te dejo la corrección: ```java public static int calcularFactorial(int numero) { int factorial = 1; for (int i = 1; i <= numero; i++) { factorial *= i; } return factorial; } ``` En este código, se inicializa `factorial` en 1 y luego se multiplica por cada número desde 1 hasta `numero`. Esto es correcto para calcular el factorial. También debes corregir el método de prueba `calcularFactorial` para que se ejecute correctamente: ```java @Test void calcularFactorial() { assertEquals(120, calcularFactorial(5)); } ``` En este código, se utiliza la clase `assertEquals` de JUnit para verificar que el resultado del método `calcularFactorial` sea igual a 120 cuando se le pasa el número 5 como parámetro.

Want to kickstart your project?Use the new AI Studio to create your code