Clase de matemáticas internas | guayaba | Java

Introducción: IntMath se utiliza para realizar operaciones matemáticas en valores enteros. Las funciones matemáticas independientes básicas se dividen en las clases IntMath, LongMath, DoubleMath y BigIntegerMath según el tipo numérico principal involucrado. Estas clases tienen una estructura paralela, pero cada una admite solo el subconjunto relevante de funciones.

Declaración: la declaración de la clase com.google.common.math.IntMath es:

@GwtCompatible(emulated = true)
public final class IntMath
   extends Object

La siguiente tabla muestra algunos de los métodos proporcionados por IntMath Class of Guava:

Excepciones:

  • log2: IllegalArgumentException si x <= 0
  • log10: IllegalArgumentException si x <= 0
  • pow : IllegalArgumentException si k < 0
  • sqrt : IllegalArgumentException si x < 0
  • divide : ArithmeticException si q == 0, o si modo == INNECESARIO y a no es un múltiplo entero de b
  • mod: excepción aritmética si m <= 0
  • gcd: IllegalArgumentException si a < 0 o b < 0
  • checkedAdd: ArithmeticException si a + b se desborda en la aritmética int firmada
  • checkedSubtract: ArithmeticException si a – b se desborda en la aritmética int firmada
  • checkedMultiply: ArithmeticException si a * b se desborda en la aritmética int firmada
  • checkedPow: ArithmeticException si b a la k-ésima potencia se desborda en la aritmética int firmada
  • factorial: IllegalArgumentException si n < 0
  • binomial: IllegalArgumentException si n < 0, kn

Algunos otros métodos proporcionados por IntMath Class of Guava son:

Ejemplo 1 :

// Java code to show implementation of
// IntMath Class of Guava
import java.math.RoundingMode;
import com.google.common.math.IntMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // Creating an object of GFG class
        GFG obj = new GFG();
  
        // Function calling
        obj.examples();
    }
  
    private void examples()
    {
  
        try {
  
            // exception will be thrown as 80 is not
            // completely divisible by 3
            // thus rounding is required, and
            // RoundingMode is set as UNNESSARY
            System.out.println(IntMath.divide(80, 3,
                           RoundingMode.UNNECESSARY));
        }
        catch (ArithmeticException ex) {
            System.out.println("Error Message is : " + 
                                     ex.getMessage());
        }
    }
}

Producción :

Error Message is : mode was UNNECESSARY, but rounding was necessary

Ejemplo 2:

// Java code to show implementation of
// IntMath Class of Guava
import java.math.RoundingMode;
import com.google.common.math.IntMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
        // Creating an object of GFG class
        GFG obj = new GFG();
  
        // Function calling
        obj.examples();
    }
  
    private void examples()
    {
  
        // As 120 is divisible by 4, so
        // no exception is thrown
        System.out.println(IntMath.divide(120, 4,
                        RoundingMode.UNNECESSARY));
  
        // To compute GCD of two integers
        System.out.println("GCD is : " + 
                             IntMath.gcd(70, 14));
  
        // To compute log to base 10
        System.out.println("Log10 is : " +
          IntMath.log10(1000, RoundingMode.HALF_EVEN));
  
        // To compute remainder
        System.out.println("modulus is : " +
                          IntMath.mod(125, 5));
  
        // To compute factorial
        System.out.println("factorial is : " +
                           IntMath.factorial(7));
  
        // To compute log to base 2
        System.out.println("Log2 is : " + 
               IntMath.log2(8, RoundingMode.HALF_EVEN));
  
        // To compute square root
        System.out.println("sqrt is : " +
                    IntMath.sqrt(IntMath.pow(12, 2),
                          RoundingMode.HALF_EVEN));
    }
}

Producción :

30
GCD is : 14
Log10 is : 3
modulus is : 0
factorial is : 5040
Log2 is : 3
sqrt is : 12

Referencia: Google Guayaba

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall 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 *