나는 재귀에 대해 공부하고 있습니다. 나는 기본을 알고 그것의 작동 방식을 이해하지만, ive는 걸림돌을 만났다. 이것은 완벽하게 작동재귀를 사용하여 최소값의 위치를 찾으십시오.
public static int findMinPosition(int[] list, int position)
{
int minPosition = 0;
if(position == list.length)
{
}
else if(position != list.length)
{
minPosition = findMinPosition(list, position+1);
if(list[position] < list[minPosition])
{
return minPosition = position;
}
}
return minPosition;
}
하지만 방법을 잘 메신저 : I는 재귀를 사용하여 배열의 최소 값의 위치를 찾기 위해 코드를 썼다. 나는 minPosition = findMinPosition(list, position+1);
을 제외한 모든 것을 이해합니다. 나는 이것이 메소드에서 반환 된 값을 주어야한다고 생각했기 때문에 원래는 메소드도 호출했다. 재귀의 포인트이기도하다. 하지만 그것은 내가 필요한 코드 줄입니다 ... 그래서 minPosition = findMinPosition(list, position+1);
메서드를 호출합니까? 거친 설명과 도움을 드려 죄송
는
당신이 가진 것은 혼란스러운 방식으로 작성되었습니다. 지역 변수를 사용하지 마십시오. 매개 변수 호출을 통해 모든 상태를 전달하십시오. 가장 좋은 조언은 리틀 스키머 (Little Schemer)의 사본을 받아서 읽는 것입니다. –