Precisamos saber que os programas às vezes precisam lidar com números inteiros grandes , então o que devemos fazer? Podemos usar a classe BigInteger no pacote java.math para fornecer operações inteiras de precisão arbitrária construindo um objeto BigInteger decimal usando o método de construção public BigInteger(String val).
Este construtor pode gerar uma exceção NumberFormatException . Ou seja, se o parâmetro de string val contiver caracteres não numéricos, ocorrerá uma exceção NumberFormatException.
Os métodos comumente usados da classe BigInteger são os seguintes:
Retorna a soma do objeto inteiro grande atual e do objeto inteiro grande especificado pelo parâmetro.
Retorna a diferença entre o objeto inteiro grande atual e o objeto inteiro grande especificado pelo parâmetro.
Retorna o produto do objeto inteiro grande atual e do objeto inteiro grande especificado pelo parâmetro.
Retorna o quociente do objeto inteiro grande atual e do objeto inteiro grande especificado pelo parâmetro.
Retorna o restante do objeto inteiro grande atual e do objeto inteiro grande especificado pelo parâmetro.
Retorna o resultado da comparação entre o objeto inteiro grande atual e o número inteiro grande especificado pelo parâmetro. O valor de retorno é 1, -1 ou 0, que indica respectivamente que o objeto inteiro grande atual é maior, menor ou igual ao grande. inteiro especificado pelo parâmetro.
Retorna o valor absoluto do objeto inteiro grande atual.
Retorna o objeto inteiro grande atual elevado à potência a.
Retorna a representação de string decimal do objeto inteiro grande atual.
Retorna a representação de string p-base do objeto inteiro grande atual.
Vejamos um método de uso da classe de números inteiros grandes. Tomemos como exemplo a questão da adição de números grandes. No entanto, esta questão afirma claramente que os dois números a e b não excedem. 1000 dígitos Você pode pensar nisso Como sabemos, a cirurgia plástica geral definitivamente não se encaixa. A adição de números de 1000 dígitos é de bilhões. No entanto, o método convencional é armazenar números em matrizes e simular operações como adição e transporte. , que é mais problemático de operar. E se você usar a classe de inteiros grandes do Java, o código é bem simples, como segue:
importjava.math.BigInteger;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);BigIntegera=sc.nextBigInteger();BigIntegerb=sc.nextBigInteger();System.out .println(a.add(b));}}
Você pode testá-lo em seu próprio computador e concluí-lo.
Comparada com outras linguagens, como C e C++, a velocidade de resolução de problemas é muito rápida.