두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
첫째 줄에 A+B를 출력한다.
※ BigInteger 사용.
일반 int 또는 long 값으로 받게 될 경우, NumberFormatException이 발생하게 한다.
발생 이유로는 여러가지가 있지만, 이 문제의 경우 parsing 하려는 값이 자료형의 크기보다 크기 때문에 발생하는 것이다.
위와 같은 경우, 자바에서 제공하는 java.math.BigInteger 클래스를 사용하면 쉽게 값을 구할 수 있다.
추후에는 BigInteger를 사용하지 않고 각 문자마다 더하여 StringBuilder에 담는 식으로도 구현을 해보려고 한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
BigInteger bg1 = new BigInteger(st.nextToken());
BigInteger bg2 = new BigInteger(st.nextToken());
System.out.println(bg1.add(bg2));
}
}