1. 개요
클래스를 적용해 기본적인 연산을 수행할 수 있는 계산기 만들기 과제(Lv.2)를 진행하며, 겪은 이슈를 다뤄보겠습니다.
2. 트러블 슈팅
● 배경
Lv.1 클래스 없이 기본적인 연산을 수행하는 계산기에서 정상 작동하던 While문의 사칙연산 swich case가 Lv2. Calculator 클래스로 구현하면서 에러가 발생했습니다.
● 발단
연산을 수행하는 calculate 메서드 내에 while문을 사용하면 해당 메서드 내에서 계속 반복 작업이 일어나서 에러가 발생한다는 것을 인지했습니다.
● 전개
그래서 calculate 메서드에서 연산이 한 번만 진행되도록 while문을 삭제했습니다.
● 위기
이후에는 사칙연산 swich case문에서 아래 2가지를 어떻게 처리할지가 고민이었습니다.
1) case ' / ' : "나눗셈 연산에서 분모(두 번째 정수)에 0이 입력될 수 없습니다.“
2) default : "잘못 입력하였습니다."
● 절정
위 내용을 App 클래스로 이동하여 피연산자, 연산자를 입력받은 후에 바로 If문으로 처리할 수 있도록 접근했습니다.
● 결말
App 클래스의 main에서 반복문을 통해 피연산자와 연산자를 입력받고 잘못된 입력 값일 경우 다시 처음으로 돌아가 값을 받아 제대로 된 값이 입력되면, 이후에 Calculator 클래스에서는 연산을 수행하도록 해결했습니다.
3. 마무리
Lv.1 클래스 없이 기본적인 연산을 수행하는 계산기를 Lv.2 클래스를 적용하여 연산을 수행할 수 있도록 코드를 수정할 때, 각 클래스에서 수행할 기능을 정확히 구분하여 에러가 발생하지 않도록 처리해야 한다는 걸 배웠습니다.
'개발 > 부트캠프' 카테고리의 다른 글
본캠프 : 개인 과제(계산기 만들기) 해설 강의 (0) | 2025.01.10 |
---|---|
본캠프 : 개인 과제(계산기 만들기) 완료 후기 (0) | 2025.01.09 |
본캠프 : Java 문법 종합반 3주차_2 (0) | 2025.01.07 |
본캠프 : Java 문법 종합반 3주차_1 (0) | 2025.01.06 |
(일요일)주말에도 쓰는 TIL : Java 문법 종합반 2주차 (0) | 2025.01.05 |