Guayaba de Java | método sqrt(int x, modo RoundingMode) de IntMath Class

El método sqrt(int x, modo RoundingMode) de la clase IntMath de Guava devuelve la raíz cuadrada de x, redondeada con el modo de redondeo especificado.

Sintaxis:

public static int sqrt(int x, RoundingMode mode)

Excepciones:

  • IllegalArgumentException: si x < 0.
  • ArithmeticException: si el modo es RoundingMode.UNNECESSARY y sqrt(x) no es un número entero.

Modo de redondeo de enumeración

Constante de enumeración Descripción
TECHO Modo de redondeo para redondear hacia el infinito positivo.
ABAJO Modo de redondeo para redondear hacia cero.
PISO Modo de redondeo para redondear hacia el infinito negativo.
HALF_DOWN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo.
HALF_EVEN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso, redondear hacia el vecino par.
HALF_UP Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba.
INNECESARIO Modo de redondeo para afirmar que la operación solicitada tiene un resultado exacto, por lo que no es necesario redondear.
ARRIBA Modo de redondeo para redondear desde cero.

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 1:

// Java code to show implementation of
// sqrt(int x, RoundingMode mode) method
// of Guava's IntMath class
  
import java.math.RoundingMode;
import com.google.common.math.IntMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
        int x1 = 226;
  
        // Using sqrt(int x, RoundingMode mode)
        // method of Guava's IntMath class
        // The RoundingMode HALF_EVEN rounds towards
        // the nearest neighbor unless both neighbors
        // are equidistant, in which case, round towards
        // the even neighbor.
        int ans1 = IntMath.sqrt(x1,
                                RoundingMode.HALF_EVEN);
  
        System.out.println("Square root of x1 is: "
                           + ans1);
  
        int x2 = 154;
  
        // Using sqrt(int x, RoundingMode mode)
        // method of Guava's IntMath class
        // The RoundingMode FLOOR rounds towards
        // negative infinity.
        int ans2 = IntMath.sqrt(x2,
                                RoundingMode.FLOOR);
  
        System.out.println("Square root of x2 is: "
                           + ans2);
    }
}
Producción:

Square root of x1 is: 15
Square root of x2 is: 12

Ejemplo 2:

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

java.lang.IllegalArgumentException: x (-65) must be >= 0

Referencia:
https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/IntMath.html#sqrt-int-java.math.RoundingMode-

Publicación traducida automáticamente

Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *