Related Articles

# Java Guava | Longs.factorial(int n) method with Examples

• Last Updated : 29 Jan, 2019

The factorial(int n) method of Guava’s LongMath Class returns the product of the first n positive integers, which is n!.

Syntax :

```public static long factorial(int n)
```

Parameter: The method accepts only one parameter n which is of integer type and is to be used to find the factorial.

Return Value: This method return following values:

• This method returns 1 if n is 0.
• This method returns product of the first n positive integers if the result fits in a long.
• This method returns Long.MAX_VALUE if the result does not fit in a long.

Exceptions: The method factorial(int n) throws IllegalArgumentException if n is negative.

Below programs illustrate the use of LongMath.factorial() method:

Example 1:

 `// Java code to show implementation of``// factorial(int n) method of Guava's``// LongMath Class`` ` `import` `java.math.RoundingMode;``import` `com.google.common.math.LongMath;`` ` `class` `GFG {`` ` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `n1 = ``10``;`` ` `        ``// Using factorial(int n) method of``        ``// Guava's LongMath class``        ``long` `ans1 = LongMath.factorial(n1);`` ` `        ``System.out.println(``"factorial of "``                           ``+ n1 + ``" is : "``                           ``+ ans1);`` ` `        ``int` `n2 = ``12``;`` ` `        ``// Using factorial(int n) method of``        ``// Guava's LongMath class``        ``long` `ans2 = LongMath.factorial(n2);`` ` `        ``System.out.println(``"factorial of "``                           ``+ n2 + ``" is : "``                           ``+ ans2);``    ``}``}`
Output:
```factorial of 10 is : 3628800
factorial of 12 is : 479001600
```

Example 2 :

 `// Java code to show implementation of``// factorial(int n) method of Guava's``// LongMath Class`` ` `import` `java.math.RoundingMode;``import` `com.google.common.math.LongMath;`` ` `class` `GFG {`` ` `    ``static` `long` `findFact(``int` `n)``    ``{``        ``try` `{``            ``// Using factorial(int n) method of``            ``// Guava's LongMath class``            ``// This should throw "IllegalArgumentException"``            ``// as n < 0``            ``long` `ans = LongMath.factorial(n);`` ` `            ``// Return the answer``            ``return` `ans;``        ``}``        ``catch` `(Exception e) {``            ``System.out.println(e);``            ``return` `-``1``;``        ``}``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `n = -``5``;`` ` `        ``try` `{`` ` `            ``// Function calling``            ``findFact(n);``        ``}``        ``catch` `(Exception e) {``            ``System.out.println(e);``        ``}``    ``}``}`
Output:
```java.lang.IllegalArgumentException: n (-5) must be >= 0
```

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up