참고 코드


https://github.com/BibliyaSeo/console-calculator/blob/main/src/main/java/org/example/lv1/Calculator.java

의문점


  1. 잘못된 입력을 받았을 때 다시 입력을 받게 하기 위해서 반복문으로 처리해야 하는데 for와 while 중 무엇을 쓰는 것이 좋을까?
  2. 똑같은 걸 적용해야하는 거면 어떻게 처리하는 게 좋을 것인가?
  3. 숫자를 입력하지 않았을 경우 체크를 어떻게 할 것인가?
  4. 연산기호를 받을 때 어차피 +,-,*,%가 아니면 안 되는데 굳이 길이 체크를 해야 할까?
  5. 위에서 연산기호를 다 걸러냈는데 switch문에서 default값을 설정해야 할까?

정리


  1. 잘못된 입력을 받았을 때 다시 입력을 받게 하기 위해서 반복문으로 처리해야 하는데 for와 while 중 무엇을 쓰는 것이 좋을까?

<aside> 📌

입력이 언제 유효해질지 모를 때, 반복 횟수가 정해져 있지 않을 때 while (true)가 일반적으로 더 어울린다. for를 사용할 수 있으나 for(;;)는 사실상 while(true)랑 똑같은 무한 루프이며 기능적으로는 동일하지만 일반적으로 for는 횟수가 있는 반복일 때 더 자주 쓴다. 사용자가 잘못된 입력을 계속할 수도 있기 때문에 이번 프로젝트에서는 while(true)를 사용하였다.

</aside>

  1. 똑같은 걸 적용해야하는 거면 어떻게 처리하는 게 좋을 것인가?

<aside> 📌

0 이상의 정수 두개를 입력 받아야 했기 때문에 같은 로직을 두 번 반복해야 했다. 코드 중복을 피하고 깔끔하게 만들기 위해서 겹치는 로직을 getPositiveInt 메서드로 분리해서 진행했다.

</aside>

  1. 숫자를 입력하지 않았을 경우 체크를 어떻게 할 것인가?