JAVA/CT

[BAEKJOON] 꼬마 정민

코맹 2024. 2. 12. 15:48
[문제]

꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!

 

입력

첫 번째 줄에 A, B, C( 1 ≤ A, B, C ≤ 1012) 이 공백을 사이에 두고 주어진다.

 

출력

A + B + C의 값을 출력한다.

 


 

그냥 A + B + C를 하면 되는 문제 아닌가? 라고 생각하며 타닥타닥.. 쳤지만..

java.util.InputMismatchException 런타임 에러가 발생했다. .

 

런타임 에러가 발생하는 이유는

1) 입력한 수가 데이터 형과 맞지 않거나

2) 데이터 형의 범위를 넘을 경우에 발생한다.

 

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        long a, b, c;
        
        Scanner sc = new Scanner(System.in);
        
        a = sc.nextLong();
        b = sc.nextLong();
        c = sc.nextLong();
        
        long result = (a + b + c);
        
        System.out.print(result);
        
    }
    
}

 

a, b라는 변수에 입력 값을 저장하는데 int형보다 큰 값이 올 수도 있기 때문에 생긴 오류였다.

🔵 따라서 int 대신 long 타입으로 변경해주니 해결됐다!

(try - catch 문으로 예외 처리해줘도 됨)

 

try {예외가 발생할 수 있는 문장} catch (InputMismatchExeption ime){System.out.print("잘못 입력하였습니다. 정수만 입력해주세요.") }

 

 

 

[참고] 

https://best421.tistory.com/10

 

[JAVA] 예외처리(InputMismatchException, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, FileNotFo

1. InputMismatchException 정수로 입력해야 하는데 문자를 입력한 경우 예외 발생 실습1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 5

best421.tistory.com

https://shs2810.tistory.com/9

 

java.util.InputMismatchException

알고리즘 문제를 풀다가 만난 입력값이 매치가 안된다는....java.util.InputMismatchException 라는 에러입니다. ㅜㅜ찾아보니 최상위는 Object, 그리고 Exception의 상위 클래스인 Throwable을 볼 수 있고, 당연

shs2810.tistory.com

 

'JAVA > CT' 카테고리의 다른 글

[BAEKJOON] 곱셈  (0) 2024.02.12
[BAEKJOON] 1998년생인 내가 태국에서는 2541년생?!  (0) 2024.02.12