Here we will **write programs to find out the factorial of a number using recursion**.

**Program 1:**

Program will prompt user for the input number. Once user provide the input, the program will calculate the factorial for the provided input number.

/** * @author: BeginnersBook.com * @description: User would enter the 10 elements * and the program will store them into an array and * will display the sum of them. */ import java.util.Scanner; class FactorialDemo{ public static void main(String args[]){ //Scanner object for capturing the user input Scanner scanner = new Scanner(System.in); System.out.println("Enter the number:"); //Stored the entered value in variable int num = scanner.nextInt(); //Called the user defined function fact int factorial = fact(num); System.out.println("Factorial of entered number is: "+factorial); } static int fact(int n) { int output; if(n==1){ return 1; } //Recursion: Function calling itself!! output = fact(n-1)* n; return output; } }

Output:

Enter the number: 5 Factorial of entered number is: 120

**Program 2: **

If you do not want user intervention and simply want to specify the number in program itself then refer this example.

class FactorialDemo2{ public static void main(String args[]){ int factorial = fact(4); System.out.println("Factorial of 4 is: "+factorial); } static int fact(int n) { int output; if(n==1){ return 1; } //Recursion: Function calling itself!! output = fact(n-1)* n; return output; } }

Output:

Factorial of 4 is: 24

Abdul Khlaliq says

Awesome tutorial I like it so much

nagendrababu says

please find this answer/program?

find nearest factorial of a given number and print factorial or not? ex:if i enter 25 it will print not a factorial and it is nearest to 4 factorial i.e.,24,if i enter 24 it will print it is a factorial of 4

Rhoen Kerr says

Great for beginners like myself

I will be a great programmer one day

Thanks