Java Program for Factorial

factorial java program
Reading Time: 7 minutes

Introduction:

The provided Java program is a simple factorial calculator that takes a non-negative integer as input from the user, calculates its factorial using recursion, and then displays the result. Factorial is the product of all positive integers up to a given number. The program ensures that the input is a non-negative integer and provides an error message if an invalid input is detected.

Explanation:

  1. Import Statement: The program starts by importing the Scanner class from the util package to facilitate user input.
  2. User Input: The main method prompts the user to enter a non-negative integer, which is then read using the Scanner
  3. Input Validation: The program checks if the entered integer is non-negative. If it is, the factorial is calculated; otherwise, an error message is displayed, and the program terminates.
  4. Factorial Calculation: The calculateFactorial method is a recursive function that computes the factorial of the input integer n. The base cases check if n is 0 or 1, in which case the factorial is 1. Otherwise, the factorial is calculated by multiplying n with the factorial of (n – 1).
  5. Display Result: If the input is valid, the program prints the calculated factorial for the entered integer.
  6. Scanner Closure: The Scanner is closed to release system resources.

Algorithm:

  1. Begin the program.
  2. Import the Scanner
  3. Create a Scanner object to read user input.
  4. Prompt the user to enter a non-negative integer.
  5. Read the entered integer.
  6. Check if the integer is non-negative.
    • If negative, display an error message and terminate the program.
    • If non-negative, proceed to the next step.
  7. Call the calculateFactorial method with the entered integer.
  8. The calculateFactorial method:
    • If n is 0 or 1, return 1.
    • Otherwise, return n * calculateFactorial(n – 1).
  9. Display the calculated factorial for the entered integer.
  10. Close the Scanner
  11. End the program.

Code:

    
     import java.util.Scanner;
public class FactorialCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a non-negative integer: ");
        int n = scanner.nextInt();
        if (n < 0) {
            System.out.println("Please enter a non-negative integer.");
        } else {
            long factorial = calculateFactorial(n);
            System.out.println("Factorial of " + n + " is: " + factorial);
        }
        scanner.close();
    }
    private static long calculateFactorial(int n) {
        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * calculateFactorial(n - 1);
        }
    }
}


    
   

Input:

    
     Enter a non-negative integer: 45
    
   

Output:

    
     Factorial of 45 is: -8797348664486920192
    
   

This program prompts the user to enter a non-negative integer and then calculates its factorial using a recursive method. The calculateFactorial method is a recursive function that computes the factorial of the given integer.

FAQ’s

  1. Q: Is it possible to see an example of a Java program for calculating the factorial of a number?
    • A: Absolutely! Check out this Java program for factorial, which takes a non-negative integer input and recursively calculates its factorial.
  2. Q: Can you share a Java program specifically designed for finding the factorial of a number?
    • A: Certainly! Here’s a Java program that prompts the user for a non-negative integer and then computes its factorial using a recursive approach.
  3. Q: How can I create a Java program for factorial calculation?
    • A: Creating a Java program for factorial is straightforward. You can input a non-negative integer, validate it, and then use a recursive method to calculate its factorial.
  4. Q: Is there a standard Java program to find the factorial of a number, or can it be customized based on requirements?
    • A: While there isn’t a single standard program, a typical Java program to find the factorial of a number involves user input, validation, and a recursive method for factorial calculation.
  5. Q: What’s the general structure of a factorial Java program, and how can I implement one myself?
    • A: A factorial Java program usually includes user input, validation, and a recursive method for factorial calculation. You can customize it based on your specific needs and preferences.