티스토리 뷰

반응형

 

 

16일차 코드 리뷰를 진행해보자.

 

Day 16 결과

 

16일 문제는 입력받은 문자열이

int형이면 int값을 출력시키고

string이면 Bad String 문자열을

출력시키는 문제였다.

 

입력 받는 코드는 문제에서 제공해주었고

우리는 try-catch를 이용하기만 하면 되었다.

 

처음에 NumberFormatException 예외를 몰랐어서

IOException을 사용했다가 컴파일 에러가 났다..

(IOException은 뭔가 만병통치약처럼 웬만한 에러를 잡아주는 줄 알앗다. 😂)

 

그래서 인터넷에서 exception 종류를 검색해서

NumberFormatException을 알게 되었고

코드를 제출하니 정답이 맞았다!!

 

입력을 String으로 받기 때문에

'입력받은 값이 숫자라면..'

이라는 조건이 필요한데 그 조건을

int 변수를 만들어 Integer.parseInt로 parsing 해줬다.

만약 숫자를 입력받았으면

int로 parsing이 되었을 것이고

string이라면 int로 parsing이 안 될 것이기 때문에

catch로 이동할 것이라고 생각했다!!

 

그 외에는 딱히 문제를 풀면서

어려움은 없었을 것이다.

 

 


 

따라서 전체 소스코드를 첨부한다.

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;



public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        String S = bufferedReader.readLine();

        bufferedReader.close();
        
        try {
            int num = Integer.parseInt(S);
            System.out.println(num);
        } catch(NumberFormatException e) {
            System.out.println("Bad String");
        }
    }
}

 

 

그 외에는 딱히 어려움은 없었을 것이라 생각한다.

 

 


 

벌써 16일 챌린지이다!!

절반 이상 왔으니 끝까지 포기하지 말고 달리자 🔥

그럼 우리는 내일 17일 챌린지로 다시 만나자.

 

반응형