Guava – Longs.factorial方法与实例

来源:这里教程网 时间:2026-02-17 21:41:16 作者:

Guava – Longs.factorial方法与实例

Guava的LongMath类的factorial(int n)方法返回前n个正整数的乘积,也就是n!。

语法:

public static long factorial(int n)

参数: 该方法只接受一个参数 n ,该参数为整数类型,用于求阶乘。

返回值: 本方法返回以下数值。

本方法返回 1 if n is 0.本方法返回前n个正整数的乘积,如果结果适合于long。如果结果不在一个长条中,该方法返回 Long.MAX_VALUE

异常情况: 阶乘(int n)方法如果n是负数,会产生IllegalArgumentException。

以下程序说明了LongMath.factorial()方法的使用。

示例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);    }}

输出:

factorial of 10 is : 3628800factorial of 12 is : 479001600

示例 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);        }    }}

输出:

java.lang.IllegalArgumentException: n (-5) must be >= 0

参考:

https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/LongMath.html#factorial-int-

相关推荐