재귀 이해에 대한 안내가 필요합니다. 여기배열 방법을 찾고
내가 무엇을 가지고 : 당신이 볼 수 있듯이
public class ArrayMember
{
public static void main(String[] args)
{
int index = 0;
int [] arr = {1, 5, 6, 2};
System.out.println(member(arr, index));
}
public static String member(int [] arr, int index)
{
if(index == arr.length)
return str;
str = index + "\t" + str + "\n";
return str + member(arr, index+1);
}
}
,이 모든 방법 (20)까지 항상 인쇄 "아니오"를 이동하지 않습니다. 그리고 for 루프를 사용하여 목표를 달성하는 것이 확실하지만 다른 방법을 생각할 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
하나의 문제가 아니 당신이 i' '위치에있는 요소를 찾을 경우에도, 당신은'와'str'을 덮어 쓸 것입니다 'i + 1 '위치에 다른 요소가있을 때. 값을 찾으면 루프에서'중단 '시키거나'str'을 디폴트로'No'로 초기화하고 루프에서'Yes'로만 설정하고'No'로 되돌리지 않습니다. –
@tobias_k 어떻게 str을 덮어 쓰는 지 설명 할 수 있습니까? str + str + ... 등으로 진행하면 안 되는가? 해당 반복 동안 할당 된 String을 보유하는 각 str. 기본적으로 str을 "No"로 설정하면 btw가 도움이됩니다. – cress