BigIntegerMath sqrt() function | Guava | Java - GeeksforGeeks

03 Aug, 2021
The method sqrt(BigInteger x, RoundingMode mode) of Guava’s BigIntegerMath class returns the square root of x, rounded with the specified rounding mode.
Syntax:
public static BigInteger sqrt(BigInteger x, RoundingMode mode)

Parameters: This method takes the following parameters:
x : The BigInteger number whose square-root is to be found.
mode : The rounding mode for calculating the square-root.
Return Value: This method returns the square root of x, rounded with the specified rounding mode.
Exceptions: This method throws following exceptions:
IllegalArgumentException: if x < 0.
ArithmeticException: if mode is RoundingMode.UNNECESSARY and sqrt(x) is not an integer.
Below examples illustrates the BigIntegerMath.sqrt() method:
Example 1:
// Java code to show implementation of// sqrt(BigInteger x, RoundingMode mode) method// of Guava's BigIntegerMath class  import java.math.*;import com.google.common.math.BigIntegerMath;  class GFG {      // Driver code    public static void main(String args[])    {        BigInteger x1 = BigInteger.valueOf(226);          // Using sqrt(BigInteger x, RoundingMode mode)        // method of Guava's BigIntegerMath class        // The RoundingMode HALF_EVEN rounds towards        // the nearest neighbor unless both neighbors        // are equidistant, in which case, round towards        // the even neighbor.        BigInteger ans1 = BigIntegerMath                              .sqrt(x1,                                    RoundingMode.HALF_EVEN);          System.out.println("Square root of " + x1                           + "with HALF_EVEN rounding mode is: "                           + ans1);          BigInteger x2 = BigInteger.valueOf(154);          // Using sqrt(BigInteger x, RoundingMode mode)        // method of Guava's BigIntegerMath class        // The RoundingMode FLOOR rounds towards        // negative infinity.        BigInteger ans2 = BigIntegerMath                              .sqrt(x2,                                    RoundingMode.FLOOR);          System.out.println("Square root of " + x2                           + "with FLOOR rounding mode is: "                           + ans2);    }}
Square root of 226with HALF_EVEN rounding mode is: 15
Square root of 154with FLOOR rounding mode is: 12

Example 2:
// Java code to show implementation of// sqrt(BigInteger x, RoundingMode mode) method// of Guava's BigIntegerMath class  import java.math.*;import com.google.common.math.BigIntegerMath;  class GFG {      // Driver code    public static void main(String args[])    {          try {            BigInteger x1 = BigInteger.valueOf(-65);              // Using sqrt(BigInteger x, RoundingMode mode)            // method of Guava's BigIntegerMath class            // The RoundingMode HALF_EVEN rounds towards            // the nearest neighbor unless both neighbors            // are equidistant, in which case, round towards            // the even neighbor.            BigInteger ans1 = BigIntegerMath                                  .sqrt(x1,                                        RoundingMode.HALF_EVEN);              // This should throw "IllegalArgumentException"            // as x1 < 0        }        catch (Exception e) {            System.out.println("Exception: " + e);        }    }}
Exception: java.lang.IllegalArgumentException: x (-65) must be >= 0

Reference: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#sqrt-java.math.BigInteger-java.math.RoundingMode-
manikarora059
Java-BigInteger
java-guava
Java
Java-BigInteger
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Hashtable in Java
Constructors in Java
Different ways of Reading a text file in Java
Comparator Interface in Java with Examples
Java Math random() method with Examples
HashMap containsKey() Method in Java
How to Create Array of Objects in Java?
Convert Double to Integer in Java
Iterating over ArrayLists in Java
Generating random numbers in Java