El java.math.BigInteger .divide(BigInteger val) se usa para calcular la división de dos BigIntegers. La clase BigInteger usa internamente una array de enteros para el procesamiento, la operación en el objeto de BigIntegers no es tan rápida como en las primitivas. Este método realiza una operación sobre el BigInteger actual mediante el cual se llama a este método y se pasa BigInteger como parámetro.
Sintaxis:
public BigInteger divide(BigInteger val)
Parámetros: este método acepta un parámetro val que es el valor que divide este BigInteger.
Valor de retorno: Este método devuelve un BigInteger que contiene la división (this / val) en Integer (valor de coma no flotante), es decir, redondea el resultado a su valor mínimo.
Excepción: el parámetro val no debe ser 0; de lo contrario , se lanza una excepción aritmética .
Los siguientes programas se utilizan para ilustrar el método divide() de BigInteger.
Ejemplo 1:
// Java program to demonstrate // divide() method of BigInteger import java.math.BigInteger; public class GFG { public static void main(String[] args) { // BigInteger object to store result BigInteger div; // Two objects of String created // Holds the values to calculate the division String input1 = "400000000000000000" + "000000000000000000"; String input2 = "8000000"; // Convert the string input to BigInteger BigInteger a = new BigInteger(input1); BigInteger b = new BigInteger(input2); // Using divide() method div = a.divide(b); // Display the result in BigInteger System.out.println("The division of\n" + a + " \nby\n" + b + " " + "\nis\n" + div); } }
The division of 400000000000000000000000000000000000 by 8000000 is 50000000000000000000000000000
Ejemplo 2: Para demostrar cómo redondea el resultado
// Java program to demonstrate // divide() method of BigInteger import java.math.BigInteger; public class GFG { public static void main(String[] args) { // BigInteger object to store result BigInteger div; // Two objects of String created // Holds the values to calculate the division String input1 = "456216545"; String input2 = "21255132"; // Convert the string input to BigInteger BigInteger a = new BigInteger(input1); BigInteger b = new BigInteger(input2); // Using divide() method div = a.divide(b); // Display the result in BigInteger System.out.println("The division of\n" + a + " \nby\n" + b + " " + "\nis " + div); double d = Double.parseDouble(input1) / Double.parseDouble(input2); // Display result in double type // To match both the results System.out.print("Using double result is " + d); } }
The division of 456216545 by 21255132 is 21 Using double result is 21.46383024109189
Ejemplo 3: para demostrar la excepción lanzada cuando se divide por 0
// Java program to demonstrate // divide() method of BigInteger import java.math.BigInteger; public class GFG { public static void main(String[] args) { // BigInteger object to store result BigInteger div; // Two objects of String created // Holds the values to calculate the division String input1 = "456216545" + "452133155"; String input2 = "0"; // Convert the string input to BigInteger BigInteger a = new BigInteger(input1); BigInteger b = new BigInteger(input2); // Using divide() method try { div = a.divide(b); // Display the result in BigInteger System.out.println("The division of\n" + a + " \nby\n" + b + " " + "\nis\n" + div + "\n"); } catch (ArithmeticException e) { System.out.println(e); } } }
java.lang.ArithmeticException: BigInteger divide by zero