티스토리 뷰

반응형

 

 

 

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

Day 17 결과

 

 

오늘 문제는 throws 로 예외처리를 진행하는 문제였다.

 

Solution 클래스에

값을 입력 받는 코드는 이미 주어졌고

Calculator 클래스를 만들어

power 메서드에 예외 처리를 작성하면 되는 문제였다.

 

코드를 통해 바로 확인해보자.

 


import java.util.*;
import java.io.*;

//Write your code here
class Calculator {
    public int power(int n, int p) throws Exception {
        if(n<0 || p<0) {
            throw new Exception("n and p should be non-negative");
        }
        return (int)Math.pow(n,p);
    }
}

class Solution{

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        while (t-- > 0) {

            int n = in.nextInt();
            int p = in.nextInt();
            Calculator myCalculator = new Calculator();
            try {
                int ans = myCalculator.power(n, p);
                System.out.println(ans);
            }
            catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
        in.close();
    }
}

 

 

전체 코드 중에서

우리가 작성해야 하는 코드를 한 번 보면

//Write your code here
class Calculator {
    public int power(int n, int p) throws Exception {
        if(n<0 || p<0) {
            throw new Exception("n and p should be non-negative");
        }
        return (int)Math.pow(n,p);
    }
}

위의 메서드인데

power 메서드를 만들고

throws Exception으로 예외처리를 한 후

if문 조건으로 문제에서

n,p가 음수일 때 예외를 발생시키라 했으므로

위와 같이 작성하고

 

n,p 모두 양수 일 때

n의 p승 값을 return하라 했으므로

최종 코드를 위와 같이 작성할 수 있다.

 


 

 

기본적으로 해커랭크 챌린지는

수능으로 따지면

빈칸 채우기 문제처럼

문제에서 모든 조건을 제시하고

답안에도 묻고 싶은 부분의 빈칸만 뚫어 놓기 때문에

코드를 설명하는 것이 너무 애매하다.

(문제를 그대로 다시 읽어주는 느낌?)

 

그래서 글을 읽다가 이해가 안되는 부분이 있다면

언제든 댓글로 질문을 해주시면

필자가 아는 선에서 최선을 다해 답변해드리겠다!!

 

그럼 우리는 내일 Day18 포스팅으로 다시 만나자. 😊

반응형