Necesitamos saber que los programas a veces necesitan trabajar con números enteros grandes , entonces, ¿qué debemos hacer? Podemos usar la clase BigInteger en el paquete java.math para proporcionar operaciones enteras de precisión arbitraria mediante la construcción de un objeto BigInteger decimal usando el método de construcción public BigInteger(String val).
Este constructor puede generar una excepción NumberFormatException . Es decir, si el parámetro de cadena val contiene caracteres no numéricos, se producirá una excepción NumberFormatException.
Los métodos comúnmente utilizados de la clase BigInteger son los siguientes:
Devuelve la suma del objeto entero grande actual y el objeto entero grande especificado por el parámetro.
Devuelve la diferencia entre el objeto entero grande actual y el objeto entero grande especificado por el parámetro.
Devuelve el producto del objeto entero grande actual y el objeto entero grande especificado por el parámetro.
Devuelve el cociente del objeto entero grande actual y el objeto entero grande especificado por el parámetro.
Devuelve el resto del objeto entero grande actual y el objeto entero grande especificado por el parámetro.
Devuelve el resultado de la comparación entre el objeto entero grande actual y el entero grande especificado por el parámetro. El valor de retorno es 1, -1 o 0, lo que indica respectivamente que el objeto entero grande actual es mayor, menor o igual que el grande. número entero especificado por el parámetro.
Devuelve el valor absoluto del objeto entero grande actual.
Devuelve el objeto entero grande actual elevado a la potencia a.
Devuelve la representación de cadena decimal del objeto entero grande actual.
Devuelve la representación de cadena de base p del objeto entero grande actual.
Veamos un método para usar la clase de entero grande. Tomemos como ejemplo la cuestión de sumar números grandes. Requiere calcular la suma de a + b. Sin embargo, esta pregunta establece claramente que los dos números a y b no exceden. 1000 dígitos Puedes pensar en ello. Como sabemos, la cirugía plástica general definitivamente no encaja. La suma de números de 1000 dígitos es miles de millones. Sin embargo, el método convencional es almacenar números en matrices y simular operaciones como la suma y el acarreo. , que es más problemático de operar. Y si usa la clase entera grande de Java, el código es muy simple, como sigue:
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));}}
Puedes probarlo en tu propia computadora y completarlo.
En comparación con otros lenguajes, como C y C++, la velocidad de resolución de problemas es realmente rápida.