본문 바로가기
개인 프로젝트/calculator-project

Parser.java의 중요성을 깨달음 <4>

by pon9 2024. 11. 15.

계산기에 parser.java를 다시 추가했다.
초반에는 정말 필요없을 줄 알았는데 머쓱해진다.. 하하하
그 이유는,

지금 내 계산기는 값을 list에 저장된 값들을 짝수와 홀수로 구별해서 각각 number와 operator에 넣는다.

문제는, 사용자가 값을 잘못 입력하면

이런식으로 홀수번째 인덱스에 숫자가 들어가게 된다.

list의 값을 초기화 할 수도 있지만 좀 번거롭기도 하고 잘못된 타입을 걸러내는 것이 꼭 필요한 기능인 것 같아서
원래 있던 코드인 parser.java를 재사용하기로 했다.

삭제했었기 때문에 깃허브에서 주섬주섬..복사해왔다.

처음에는 단순하게 calaulator에서 parser로 보내고, parser에서 에러가 발생하면 calculator의 numbers를 초기화하도록 했는데

이게 그 유명한 스택오버플로우다 하하하하

서로 참조하는 바람에 순환 참조가 발생했다.

예외처리를 하면서 claer하도록 변경해줬다.

이제 잘된당.

 

https://github.com/roqkfchqh/CalculatorApp