TIL

[부트캠프] TIL 2024.10.16.수

hahahabbb 2024. 10. 16. 23:20

1. 학습 목표

 1) 개인과제 계산기 구현 

 

2. 학습 내용

 1) 실습 환경 : IntelliJ

 2) 알고리즘 : 깃허브 (백준 5 / 프로그래머스 5)

 3) 학습 내용 

이슈 사항들

1) 마지막에 연산자 입력 받고 나서 의 엔터 처리

=> 각각 입력 받고 sc.nextLine();을 추가

 

2) exit 입력받을 시에 종료하고 아닐 시에 뭘 할지 고민하다가 다음과 같이 작성

System.out.println("종료하시겠습니까?(yes/no)");
if (sc.nextLine().equals("yes")) break;

 

3) 사실 아래와 같이 했었는데 res가 redundant 라고 해서 swith 기존 표기법으로 변경함.

int res = switch (op) {
            case '+' -> firstNumber + secondNumber;
            case '-' -> firstNumber - secondNumber;
            case '*' -> firstNumber * secondNumber;
            case '/' -> firstNumber / secondNumber;
            case '%' -> firstNumber % secondNumber;
            default -> 0;
        };

 

4) 컬렉션을 뭘로 할 지 고민하다가 순서 고려, 처음 들어온 데이터 순으로 삭제를 고려했을 때 Queue가 제일 적합하다고 생각하여 Queue로 진행하였다. 그리고 딱히 연산결과 리스트를 탐색할 일은 없을 것 같기도 해서..

 

5) '+' 이 부분에 원래 ADD 이걸 넣었었는데 오류가 나서 아래처럼 구현했다. char 타입의 op가 어찌됐든 ADD랑 동일한 게 아니다 보니 그런 것 같다.

        switch (op) {
            case '+':
                res = OperatorType.ADD.operate(firstReal, secondReal);
                break;
            case '-':
                res = OperatorType.SUBTRACT.operate(firstReal, secondReal);
                break;
            case '*':
                res = OperatorType.MULTIPLY.operate(firstReal, secondReal);
                break;
            case '/':
                res = OperatorType.DIVIDE.operate(firstReal, secondReal);
                break;
            case '%':
                res = OperatorType.REMAIN.operate(firstReal, secondReal);
                break;
        };

 

3. 다음 학습 내용

1) 계산기 코드 구현한 거 정리하고 도전 과제 시도하기

 

4. 회고

예외 처리도 아직 안했고 구현할 게 꽤 남아서 시간 안에 가능할 지 모르겠지만 최대한..!

깃허브에 연동하는 것도 까먹고 있다가 부랴부랴 했는데 아직도 깃허브 다루는 건 어색한 것 같다. 내일 계산기 화이팅해보는 걸로..

'TIL' 카테고리의 다른 글

[부트캠프] TIL 2024.10.18.금  (0) 2024.10.18
[부트캠프] TIL 2024.10.17.목  (0) 2024.10.17
[부트캠프] TIL 2024.10.15.화  (0) 2024.10.15
[부트캠프] TIL 2024.10.11.금  (2) 2024.10.11
[부트캠프] TIL 2024.10.10.목  (0) 2024.10.10