자바 길찾기프로그램 질문이에요..


45번줄에서 StackOverFlow가 발생한 것 같은데요.
map1에서 nomove까지 간거면 현재XY좌표가 종료지점일텐데 왜 1이 리턴이 안될까요 ㅜㅜㅜ

굳이 재귀로 처리하실 필요가 있나 싶네요; 여튼 currX랑 currY 로그 한번 찍어보시면 잘 해결될 것 같습니다.

아마 map2 실행 시 currX, currY가 0, 0으로 가서 재귀함수가 무한으로 돌아간 것 아닐까요; 그렇게 추측해 봅니다 (도주

글쓴이님이 사용하고 계신 자바 편집기가 궁금합니다! 이제막 자바 배우려는데 뭔가 끌리네요

그러면 왜 map1은 There is no path가 나올까요 종료지점도착했는데 …ㅜㅜ

이클립스에요!

1 Like

그러게요… 제가 C에서 비재귀로 비슷하게 테스트 해 봤을 땐 경로를 찾았다고 나와서… 우선은 findpath에 로그 출력을 넣어서 테스트 해 보시는 게 어떨까요…

재귀함수에서 리턴값 처리를 잘못하셨네요
그리고 direction비교하는 if문들도 좋지 못합니다.
그래서 main에서 받는 findPath메소드의 리턴값은 0입니다.
디버거 이용해서 findPath메소드가 어떤식으로 동작하고 있는지 확인해보세요
출력을 넣어서 확인하셔도 되구요