In this Java program, you’ll learn how to find the factorial of a number using a recursion function. In this program, we used the following Java basics such asif...else conditions, and java recursion methods.

What is a Factorial Number?

In mathematics, the factorial of a positive integer n, denoted by n!, is the product of all positive integers less than or equal to n:

n!=(n-1)x(n-2)x(n-3)x…3x2x1

The factorial, symbolized by an exclamation mark(!), is a quantity defined for all integers greater than or equal to 0.

For example,

5!=5x4x3x2x1=120

6!=6x5x4x3x2x1=720

The value of 0! is 1.

Here is the code of the program to print factorial of a number using Recursion:

Example - Java Program to Find the Factorial of a Number Using Recursion

//Java Program to Find Factorial of a Number Using Recursion
import java.util.Scanner;
public class JavaPrograms {
public static void main(String[] args) {
int number;
// create an object of Scanner class
Scanner sc = new Scanner(System.in);
// ask users to enter numbers
System.out.println("Enter a number: ");
number = sc.nextInt();
long factorial = factorial(number);
System.out.println("Factorial of " + number + " = " + factorial);
sc.close();
}
public static long factorial(int num) {
if (num >= 1)
return num * factorial(num - 1);
else
return 1;
}
}

Output

Enter a number:

5

Factorial of 5 = 120

Working of Program

First, we take the input from the user and the number whose sum is to be found is stored in a variable number.

Initially, the factorial() is a recursive function thatis called from the main() function and we take 5 as input and pass it as an argument.

Since 6 is greater than or equal to 1, 5 is multiplied to the result of factorial() where 4 (num -1) is passed. Since it is called from the same function, it is known as a recursive call.

In each recursive call, the value of the argument num is decreased by 1 until num reaches less than 1.

When the value of num is less than 1, there is no recursive call.

## Comments