ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

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 video tutorial - How to calculate factorial of a number in Java.

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 Java program to calculate factorial of a number.
Output of Java program to calculate factorial of a number.
Output of Java program to calculate factorial of a number.
Output of Java program to calculate factorial of a number.
Output of Java program to calculate factorial of a number.
Output of Java program to calculate factorial of a number.

Output of the program -

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

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)