검색 결과를 제대로 불러오지 않는 오류가 있다. 하나만 오류가 난다면 쉽게 고칠텐데, 모든 기록에 대해 검색이 안 되어서 원인을 찾아봐야한다.
우선, "조건에 맞는 결과가 없습니다" 는 모든 검색을 다 실행한 후 검색결과가 비어있다면 출력되는 문장이다.
result를 반환하는 부분의 콘솔을 찍어봤다.
음.. historyData는 비어있고, condition은 잘 모르겠지만 정상적으로 들어간 것 같다.(제발요)
historyData가 빈 것이 문제니 그부분을 더 찾아보자.
클래스의 생성자부터 차근차근 하나씩 로그를 찍다 보면 원인이 나오지 않을까?
!!! 생성자에 전달된 list가 컴파일 시점부터 비어있다.
정말 모르겠어서 튜터님께 찾아가니 HistoryDataSearch에서 생성자가 생성되는 시간이랑
History 클래스에서 계산결과가 저장되는 것의 서순 문제라고 하셨다.
그래서 파라미터로 getHistory()를 호출하니 정상적으로 불러와졌다.
그런데, 연산자와 id를 이용한 계산은 잘 되는데..
입력받은 값보다 큰 수를 불러올 때 문제가 생겼다.
입력은 int로 받는데 값을 double로 변환하려 해서 그런가보다 싶어서 double.parseDouble(input)으로 바꿔줬다
마찬가지로 (int) value도 (double) value로 바꿔줬다.
해결됐다.
계속 변하는 값을 생성자나 메서드에서 호출할 땐 서순을 생각하자!
'개인 프로젝트 > calculator-project' 카테고리의 다른 글
추상 클래스를 도입해보자 <10> (0) | 2024.11.19 |
---|---|
인터페이스, 추상클래스.. 사용 가능할 것 같은데? <8> (0) | 2024.11.18 |
<finish> 가 아니라 리팩토링.. (0) | 2024.11.17 |