백준 자바 11382번 런타임 에러 발생 이유

자바 기초를 공부하기 위해 백준 단계별 문제풀이를 시작했다. 입력방법도 배웠고 신나게 공부하고 있었는데

런타임 에러가 떠서 당황스러웠다. 

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		
		System.out.println(A+B+C);
		sc.close();
	}
	
	
}

 

IDE에서

77 77 7777

을 입력해보면 정상적으로 출력이 된다. 그러나 백준에 제출하면

 

런타임 에러가 발생한다 . InputMismatch란다. 

C가 10^12승까지 가능하단다..

int형은 ~2^31부터 2^31-1 까지밖에 처리하지못한다. 대략 10^9 정도까지만 가능하다는 것이다.

이렇게 큰 수를 다루려면 long형을 사용해야한다.. 

 

파이썬에서는 정수를 표현할때 이런제약이 없었는데 자바는 좀 더 세심하게 볼 수 있어야 할 것 같다.