Java Factorial Program using Scanner

In this post, we show how to create a Java program to find Factorial of a given number. There is lot's of Factorial Programs out there on the internet using loops, recursive but here I use BigInteger.multiply() method to find Factorial of a given number.
Factorial of n is the product of all positive descending integers. Factorial of n is denoted by n!.
For example:
4! = 4*3*2*1 = 24  
5! = 5*4*3*2*1 = 120  

Java Factorial Program

In the below program, we are using a Scanner to get input from the console.
import java.math.BigInteger;
import java.util.Scanner;

public class FactorialExample {

    public static void main(String[] args) {

     Scanner scanner = new Scanner(;

        System.out.print("Enter a number: ");

        int n = scanner.nextInt();
        BigInteger fact = factorial(n);

        System.out.printf("%d! is %d", n, fact);

    private static BigInteger factorial(int value) {

     BigInteger result = BigInteger.ONE;

        if (value != 0 && value != 1) {

            for (int i = 2; i <= value; i++) {

                result = result.multiply(BigInteger.valueOf(i));

        return result;
Enter a number: 5

5! is 120
There are different techniques to write this program, check out this article.

Related Java Programs