우리는 프로그램이 때때로 큰 정수 를 처리해야 한다는 것을 알아야 합니다. 그러면 우리는 어떻게 해야 할까요? java.math 패키지의 BigInteger 클래스를 사용하면 public BigInteger(String val) 생성 메소드를 사용하여 10진수 BigInteger 객체를 생성함으로써 임의의 정밀도 정수 연산을 제공할 수 있습니다.
이 생성자는 NumberFormatException 예외를 생성할 수 있습니다. 즉, 문자열 매개변수 val에 숫자가 아닌 문자가 포함되어 있으면 NumberFormatException 예외가 발생합니다.
BigInteger 클래스의 일반적으로 사용되는 메서드는 다음과 같습니다.
현재 큰 정수 개체와 매개 변수에 지정된 큰 정수 개체의 합계를 반환합니다.
현재 큰 정수 개체와 매개 변수에 지정된 큰 정수 개체 간의 차이를 반환합니다.
현재 큰 정수 개체와 매개 변수에 지정된 큰 정수 개체의 곱을 반환합니다.
현재 큰 정수 개체와 매개 변수에 지정된 큰 정수 개체의 몫을 반환합니다.
현재 큰 정수 개체와 매개 변수로 지정된 큰 정수 개체의 나머지를 반환합니다.
현재 큰 정수 개체와 매개 변수에 지정된 큰 정수 사이의 비교 결과를 반환합니다. 반환 값은 각각 1, -1 또는 0이며, 이는 각각 현재 큰 정수 개체가 큰 정수 개체보다 크거나 작거나 같음을 나타냅니다. 매개변수로 지정된 정수입니다.
현재 큰 정수 개체의 절대값을 반환합니다.
현재 a만큼 거듭제곱된 큰 정수 객체를 반환합니다.
현재 큰 정수 객체의 10진수 문자열 표현을 반환합니다.
현재 큰 정수 개체의 p-base 문자열 표현을 반환합니다.
큰 정수 클래스를 사용하는 방법을 예로 들어보겠습니다. 이는 a + b의 합을 계산해야 합니다. 그러나 이 질문에서는 두 숫자 a와 b가 초과하지 않는다는 점을 분명히 명시하고 있습니다. 1000자리라고 생각하시면 됩니다. 일반성형외과에서는 절대 안맞습니다. 1000자리 숫자의 덧셈은 수십억이 됩니다. 하지만 기존의 방법은 숫자를 배열로 저장하고 덧셈, 캐리 등의 연산을 시뮬레이션하는 것입니다. , 작동하기가 더 번거롭습니다. 그리고 Java의 큰 정수 클래스를 사용하는 경우 코드는 다음과 같이 매우 간단합니다.
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));}}
자신의 컴퓨터에서 테스트하고 완료할 수 있습니다.
C나 C++ 등 다른 언어에 비해 문제 해결 속도가 정말 빠르다.