2016-10-19 15 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

はグーグルで「再帰にforループを変換する方法を、」類似答えhere、および例との記事がありますhere

これはかなり大きなヒントですが、基本的な考え方は、引数に現在のループ状態が格納されているということです。

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

と同等です:

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

これはあなたがコミュニティを尋ねる前に答えを自分で見つけてみてください確認して、かなり簡単にGoogleにできるはずである何かです。このような質問には気にしませんが、最初に尋ねて後で見ても実際に何も学ばないことがわかりました。

private static void printStars(int n) 
{ 

if (n>0){ 
system.out.println("*"); 
printStars(n-1); 
     } 
} 
関連する問題