Ask Question
2 December, 01:19

Write a method called fact that recursively calculates the factorial value of its single int parameter. The value returned by fact is a long ...

+5
Answers (1)
  1. 2 December, 01:34
    0
    The program to this question can be given as follows:

    Program:

    //class

    public class factorial / /defining class

    {

    //method fact

    public static long fact (int x1) / /defining method fact

    {

    //conditional statement

    if (x1 < = 1) / /if block checks parameter value less then equal to 1

    {

    return 1; / /return value

    }

    else / /else part

    {

    return (fact (x1 - 1) * (long) x1); / /return factors using recursive function

    }

    }

    //method main

    public static void main (String[] args) / /defining main method

    {

    long data=fact (5); //defining variable that holds function value

    System. out. println ("Factorial is: "+data); / /print value

    }

    }

    Output:

    Factorial is: 120

    Explanation:

    In the above java program, a class is "factorial" is defined, inside the class, a static method "fact" is declared, that accepts an integer parameter that is "x1" and returns a long value, inside this method a conditional statement is used.

    If the block it checks parameter value is less then equal to 1, if this condition is true, it will return 1 when this condition is not true. It will go in else part. In else part, it uses a recursive function to calculate factorial of a number and return its value. Then the main method is defined, inside this method a long variable "data" is defined, that call and holds fact function return value, and in the next line, the print function is used to print the data variable value.
Know the Answer?
Not Sure About the Answer?
Get an answer to your question ✅ “Write a method called fact that recursively calculates the factorial value of its single int parameter. The value returned by fact is a ...” in 📙 Computers & Technology if there is no answer or all answers are wrong, use a search bar and try to find the answer among similar questions.
Search for Other Answers