Java 8 | Метод BigInteger diverAndRemainder () с примерами

Опубликовано: 12 Февраля, 2022

java.math.BigInteger.divideAndRemainder (BigInteger val) был представлен в Java 8. Этот метод возвращает массив из двух BigInteger после применения операции деления между BigInteger, вызывающим этот метод, и BigInteger, переданным в качестве параметра другому методу. Здесь First BigInteger массива представляет результат деления (this / val), а Second BigInteger представляет остаток от этой операции деления (this% val).

Синтаксис:

 public BigInteger [] divAndRemainder (BigInteger val)

Параметры: этот метод принимает обязательный параметр val типа BigInteger, который действует как делитель для применения операции деления.

Возвращаемое значение: этот метод возвращает массив из двух BigInteger, содержащих частное (this / val) в качестве первого элемента и остаток (this% val) в качестве второго элемента.

Исключение: метод выдает исключение ArithmeticException, если в параметре передано значение null или 0.

Пример:

Ввод: 42245, 23
Выход: [1836, 17]

Ввод: 25556, 444
Результат: [57, 248]

Объяснение: На входе даны два BigInteger.
Первый - это дивиденд, который вызывает метод,
а второй - делитель, который передается как параметр.
При применении операции деления в результате 
в качестве вывода возвращается массив частного и остатка.
Это тоже типа BigInteger

Ниже приведены программы, иллюстрирующие метод divAndRemainder () класса BigInteger:

Program 1:

// Java program to demonstrate divideAndRemainder() method
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creating a BigInteger object
        BigInteger dividend = new BigInteger("25556");
        BigInteger divisor = new BigInteger("444");
  
        // applying divideAndRemainder() method
        BigInteger[] answers = dividend.divideAndRemainder(divisor);
  
        // print results
        System.out.println("Dividend : " + dividend);
        System.out.println("Divisor : " + divisor);
        System.out.println("Quotient  : " + answers[0]);
        System.out.println("Remainder : " + answers[1]);
    }
}
Output:
Dividend : 25556
Divisor : 444
Quotient  : 57
Remainder : 248

Program 2:

// Java program to demonstrate divideAndRemainder() method
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creating a BigInteger object
        BigInteger dividend = new BigInteger("32345678987");
        BigInteger divisor = new BigInteger("1537862842");
  
        // applying divideAndRemainder() method
        BigInteger[] answers = dividend.divideAndRemainder(divisor);
  
        // print results
        System.out.println("Dividend : " + dividend);
        System.out.println("Divisor : " + divisor);
        System.out.println("Quotient  : " + answers[0]);
        System.out.println("Remainder : " + answers[1]);
    }
}
Output:
Dividend : 32345678987
Divisor : 1537862842
Quotient  : 21
Remainder : 50559305

Program 3: To demonstrate ArithmeticException

// Java program to demonstrate divideAndRemainder() method
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // Creating a BigInteger object
        BigInteger dividend = new BigInteger("32345678987");
  
        // Creating 0 as divisor
        BigInteger divisor = new BigInteger("0");
  
        // print both numbers
        System.out.println("Dividend : " + dividend);
        System.out.println("Divisor : " + divisor);
  
        try {
            // applying divideAndRemainder() method
            BigInteger[] answers = dividend.divideAndRemainder(divisor);
  
            // print results
            System.out.println("Quotient  : " + answers[0]);
            System.out.println("Remainder : " + answers[1]);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}
Output:
Dividend : 32345678987
Divisor : 0
Exception: java.lang.ArithmeticException: BigInteger divide by zero

Ссылка: https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#divideAndRemainder-java.math.BigInteger-

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .