2016-10-19 6 views
0

루프를 재귀 적으로 변경하는 방법을 설명해 주시겠습니까? 재귀적인 것은 알고 있지만 코드를 인쇄 할 때 코드를 올바르게 인쇄 할 수는 없습니다. 별의 첫 번째 줄.For 루프를 재귀 적 메서드로 변경

모든 지침

여기에 내 현재 코드입니다, 감사하겠습니다 :

static void printLine(int n) { 
    for (int i=0; i<n; ++i) { 
     System.out.print("*"); 
    } 
    System.out.println(); 
} 
+0

숙제 문제! :) – user2004685

+0

당신은 그 중 (분명히 이상한) 요구 사항의 어느 부분에 어려움을 겪고 있습니까? 재귀 적 방법이 무엇인지 이해하고 있습니까? 그렇다면 지금까지 무엇을 시도 했습니까? – UnholySheep

+0

http://meta.programmers.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems – EJoshuaS

답변

2

인터넷 검색을 "어떻게 재귀 루프 변환,"비슷한 대답 here 및 예 here와 기사있다 .

이것은 매우 중요한 힌트이지만 기본적인 생각은 인수가 현재 루프 상태를 저장한다는 것입니다.

private static void PerformAction(int n) 
    { 
     if (n > 0) 
     { 
      // Do something 
      PerformAction(n - 1); 
     } 
    } 
1

이것은 당신이 아주 쉽게 Google에 할 수는 지역 사회를 묻기 전에 답 자신을 찾는 시도 확인해야 뭔가가 :

for (int i = 1; i <= n; i++) 
{ 
    // .... 
} 

은 동일합니다. 나는 이런 질문에 답하지 않겠지 만, 처음에 물어보고 나중에 보게되면 아무 것도 배우지 않는다는 것을 발견했습니다.

private static void printStars(int n) 
{ 

if (n>0){ 
system.out.println("*"); 
printStars(n-1); 
     } 
}