# How to - find factorial of a number through a simple Java program

Updated on September 17, 2014

## Introduction

In this tutorial, you will learn how to calculate factorial of a number through a Java program. In Mathematics calculation of factorial of a number is very important concept. Many complex problems involves calculation of factorial of a number. The following code is a simple Java program which calculates factorial of a number. It prints calculated result on the console. This is just a simple program which illustrates working of many features of Java programming language. In this application, there is one class named as 'FactorialImpl'. This class contains a method named as main. Itâ€™s the starting point for any application to execute. In this tutorial below there is a complete video tutorial which demonstrate each and every step needed in Java to calculate factorial of a number. In this tutorial you will also come across complete Java source code involve in calculation of factorial of a number. The code below is highly commented and demonstrate the program in detail.

## Java source code - How to calculate factorial of a number in Java.

```import java.util.Scanner;

public class FactorialImpl {

public static void main(String[] varargs) {

// Create a Scanner object by passing System.in
// as a input stream, it allow scanner to read
// user inputs from the console

Scanner scanner = new Scanner(System.in);

// prompt the user to enter a number whose factorial
// is to be calculated

System.out.println("Please enter the value of n : ");

// Store the value entered by user in a integer n
// nextInt() method of scanner reads the number from
// console which user has entered

int n = scanner.nextInt();

// Take a boolean with value of 1, to avoid multiplication
// with zero

double factorial= 1;

for (int j = 1; j<=n; j++) {

// loop n number of times and calculate value of factorial
// multiplied by j
// and store it back to factorial to make available new value
// in the next cycle

factorial=factorial*j;

}
System.out.print("Factorial of " + n + " is ");

// Output the final calculated value of factorial to the console

System.out.println(factorial);

}

}
```

## Steps to implement -

Step 1 - Import all the required classes from Java API (Application Programming Interface). These classes have been written by Java developers which will help us in calculating factorial of a number. In this tutorial we will use Scanner class present in java.util package.

Step 2 - In order to demonstrate how to calculate factorial of a number, we will create a Java class. The class is named as "FactorialImpl" in this tutorial.

Step 3 - "FactorialImpl" class has a method by the name main. It has a signature as public static void main(String [ ] args). It takes in an argument of array of String. Java Virtual Machine search in a class for this main method. This method is the starting point of execution. All of the Java code for calculating factorial of a number is written inside this method.

Step 4 - The logic behind coding this program is that, we want user enter a number for which factorial is to be calculated . In order to get user inputs from console we have to create an object of class Scanner. Scanner class constructor takes in a input stream which listens to Java console. It takes parameter of System.in instance. System.in helps Scanner class to read user inputs from the Java console.

Step 5 - In order to calculate factorial of number, value of number is required. Prompt the user to enter value of a number.

Step 6 - User enters value of a number on Java the console. The value is been read by scanner object by the method nextInt(). This value is been stored in the 'n' variable. Type of 'n' variable is an integer.

Step 7 - Create a double variable by the name factorial. This variable will be finally holding factorial of a number, when program ends.

Step 8 - Loop n number of times and calculate value of factorial multiplied by j and store it back to factorial to make available new value in the next cycle. As soon as for loop ends, factorial variable will hold factorial of a number which we want to calculate.

Step 9 - Print factorial of a number on the Java console through "System.out.println" method.

Java code provided above is highly commented to make you understand each and every step in great detail. Follow these steps, understand and code it accordingly.

Output of the program -

Please enter the value of n : 6
Factorial of 6 is 720.0

0

4

3

0

7

32