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.

My Personal Notes arrow_drop_up
Recommended Articles
Page :