Error rendering WebPanel: No renderer found for resource type: velocity Template contents: <meta name="ajs-keyboardshortcut-hash" content="$keyboardShortcutManager.shortcutsHash">
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

목적

  • JDK에서 기본으로 제공하는 기능을 사용하는 경험한다.
  • javadoc 문서를 참고해 JDK 문서 활용 방법을 경험한다.

요구사항

  • 다음 예와 같이 쉼표를 구분자로 하는 문자열 계산기를 구현한다. (예 : “” => 0, "1,2" => 3, "1,2,3" => 6)

과정

  • TODO의 힌트를 참고해 add() method 구현을 완성한다.
1단계
  • 빈 문자열을 입력할 경우 0을 반환해야 한다. (예 : “” => 0)

class StringCalculator {
    int add(String text) {
        // TODO 빈 문자열인지 판단은 text.isEmpty()로 가능
        return 0;
    }
    public static void main(String[] args) {
        StringCalculator cal = new StringCalculator();
        System.out.println("결과 : " + cal.add(""));
    }
}
2단계
  • 숫자가 하나 포함되어 있는 문자를 전달할 경우 문자열의 숫자를 반환한다.(예 : "3" => 3);
 class StringCalculator {
    int add(String text) {
        // TODO Integer.parseInt(text)를 사용하면 문자열을 숫자로 반한환다.
        return 0;
    }
    public static void main(String[] args) {
        StringCalculator cal = new StringCalculator();
        System.out.println("결과 : " + cal.add(""));
        System.out.println("결과 : " + cal.add("3"));
    }
}
3단계
  • 숫자 두개를 컴마(,) 구분자로 입력할 경우 두 숫자의 합을 반환한다.(예 : “1,2” => 3)
class StringCalculator {
    int add(String text) {
        // TODO text.split(",")를 활용해 문자열을 쉼표로 분리한다.
        String[] tokens = text.split(",");
        int result = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
        return result;
    }
    public static void main(String[] args) {
        StringCalculator cal = new StringCalculator();
        System.out.println("결과 : " + cal.add(""));
        System.out.println("결과 : " + cal.add("3"));
        System.out.println("결과 : " + cal.add("1,2"));
    }
}
4단계
  • 숫자 세개를 컴마(,) 구분자로 입력할 경우 두 숫자의 합을 반환한다.(예 : “1,2,3” => 6, "2,3,4,5" => 14)
class StringCalculator {
    int add(String text) {
        String[] tokens = text.split(",");
        // TODO tokens 배열 크기만큼 for문을 돌면서 합을 구한다.
        // 배열 크기는 tokens.length로 알 수 있다.
        int result = Integer.parseInt(tokens[0]) + Integer.parseInt(tokens[1]);
        return result;
    }

    public static void main(String[] args) {
        StringCalculator cal = new StringCalculator();
        System.out.println("결과 : " + cal.add(""));
        System.out.println("결과 : " + cal.add("3"));
        System.out.println("결과 : " + cal.add("1,2"));
        System.out.println("결과 : " + cal.add("1,2,3"));
        System.out.println("결과 : " + cal.add("2,3,4,5"));
    }
}

결과

  • 위 4단계를 끝냈을 때 StringCalculator 클래스의 add method는 4가지 요구사항을 모두 만족해야 한다. 
  • 즉, 위 4단계의 main method를 통해 5개의 결과가 모두 정상적으로 출력되어야 한다.

피드백

면담 내용 정리
  • 중간에 흐름이 끊기면 그 흐름을 다시 회복하는데 많은 시간이 필요하다.
  • 다음 단계로 넘어가는 시점에 학생들이 참고할 동영상이 있는 것이 좋겠다. 아무 것도 없는 상태에서 문서로만 학생들이 따라오는데는 어려움이 있다.
  • 동영상은 라이브 코딩과 말을 같이 하는 것이 좋겠다.
  • google docs에 학습 과정을 기록하고, 기록하면서 질문들이 있으면 이 질문을 남긴다.
  • 처음부터 eclipse를 사용하지 않고 text editor를 사용하는 부분에 대한 느낌은? 2주 동안 진행할 계획임.
    • text editor를 사용하는 것이 class를 이해하는데 큰 도움이 되었다.
    • 2주 정도라면 text editor를 사용하는 것이 좋다고 생각한다.
    • 처음 자바를 배울 때 class라는 것이 생소하기 때문에 좋을 것으로 생각한다.
    • 터미널 처음 쓰는 것도 재미있다는 느낌이 든다.
  • 수업 시간은 어떻게 배정하는 것이 좋겠는가?
    • 3시간은 수업하고 1시간은 각 팀별로 미팅하는 시간을 가지는 것도 좋겠다.
    • 수업은 월/목, 화/금과 같이 이틀의 간격을 두는 것이 좋겠다.
박태준 피드백
  •  빈 문자열의 출력을 0으로 표현하였다.
    • if(text.isEmpty());
    • return 0;
  • 문자열 중에서 숫자 1개의 출력을 표현하였다.
    • int result = Integer.parseInt(text); 
    • return result;
  • 문자열 중에서 숫자 2개의 출력을 합으로 표현하였다.
    • String[] tokens = text.split(","); 
    • result = Integer.parseInt(tokens[0])+ Integer.parseInt(tokens[1]);
    • return result;
조유리 피드백
  • 계속 variable result 라고 나와서 문제 2번까지와 3번을 합치지 못했다.
    • 문제 1번과 2번은 문제 없고 1번과 3번도 문제 없는 걸로 봐서 아무래도 쪼갤 것이 없으면 어레이에 아예 안들어 가는것 같다-> 들어간다! , 사이즈를 프린트 해보니까~!!
  • 문제 4번은 for문을 돌리는것 까지는 되는데, for 문에 숫자로 사이즈를 알려주면 잘 하는데 함수를 쓰면 안된다. string length 함수 쓰는 법을 잘 모르겠다..ㅠ : 사이즈 문제!!  
  • 레이블 없음