1038 : [기초-산술연산] 정수 2개 입력받아 합 출력하기1(설명)
1. 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.
(단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.)
2. 2개의 정수가 공백으로 구분되어 입력된다.
** 주의 : 계산의 결과가 int 범위를 넘어가는지를 잘 생각해 보아야 한다.
3. 두 정수의 합을 출력한다.
ex)
입력 : 123 -123
출력 : 0
정수를 입력받아서 출력하는건 쉽다. 하지만 우리가 알고있는 long형 범위에서 벗어나는 숫자는 어떻게 계산해야할까?
import java.math.BigInteger;
import java.util.*;
public class Exercise {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] num = str.split(" ");
BigInteger big1 = new BigInteger(num[0]);
BigInteger big2 = new BigInteger(num[1]);
System.out.println(big1.add(big2));
}
}
그럴땐 java.math에 있는 BigInteger 클래스를 이용해야한다.
BigInteger클래스는 long형 범위에서 벗어나는 숫자를 String형으로 바꿔서 계산한 결과를 보여준다.
두 숫자를 더할때는 사칙연산을 시작하는 것이 아니라 add() 메소드를 이용해준다.
728x90
반응형
'코드업(CodeUp) > 기초 100제' 카테고리의 다른 글
[코드업/자바] 기초100제 - 정수 1개 입력받아 부호 바꿔 출력하기 (0) | 2020.08.27 |
---|---|
[코드업/자바] 기초 100제 - 정수 2개 입력받아 합 출력하기2 (0) | 2020.08.27 |
[코드업/자바] 기초 100제 - 정수 입력받아 아스키 문자로 출력하기 (0) | 2020.07.23 |
[코드업/자바] 기초 100제 - 영문자 1개 입력받아 10진수로 출력하기 (0) | 2020.07.23 |
[코드업/자바] 기초 100제 - 16진 정수 1개 입력받아 8진수로 출력하기 (0) | 2020.07.23 |