2017-12-23 6 views
-1

필자는 파일을 읽고 그 값을 내 클래스의 올바른 속성에 저장하는 재귀 알고리즘을 작성했습니다. 요점은, 재귀 메서드 호출을 사용하여 속성을 채우는 것입니다. 메서드는 void 유형이며, 어떤 점에서 조건이 true이면 자체를 호출합니다. 프로그램은 작은 파일로 테스트했을 때 잘 동작했지만 큰 파일에서는 스택 오버플로 오류가 발생합니다. 재귀 적 메서드 호출은 호출 스택을 빠르게 플러딩합니다.Java 호출 스택 pop

호출 스택에서 요소를 팝하는 방법이 있습니까?

+3

http://idownvotedbecau.se/nocode/ –

+0

[묻는 방법] (https://stackoverflow.com/help/how-to-ask)을보고 [mcve]를 제공하십시오. – hnefatl

답변

0

"호출 스택의 요소를 팝하는 유일한 방법은 최신 메서드 호출에서 반환하는 것입니다. (그리고 나는 그 대답이 도움이되지 않는다고 생각합니다 ...).

따라서 재귀 호출 횟수를 줄이기 위해 알고리즘을 다시 디자인해야하지만 대신 반복을 사용해야합니다.

알고리즘에 대해 자세히 말하고 코드를 표시하면 알고리즘을 다시 디자인하는 데 도움이 될 수 있습니다.