2016-10-21 19 views
0

出力を指定して代入を作成するように求められました。数値が正である限り、次のようになり、実行されます。For Loop to Recursionステートメント - 構文

Please enter a number: 4 
**** 
*** 
** 
* 
** 
*** 
**** 

これは、作成されたforループで正しく動作します。しかし、私は、forループなしと言われたか、いずれかの事項のいずれかのループを使用することができます。私はこれを再帰的な方法に変更し、else文があれば(2)の呼び出しを利用するように求められました。しかし、forループを再帰的に変更するために利用可能なすべての公開された論文を読んだことがありますが、私はいくつかの深い説明を理解するための助けに感謝しています。

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

    public static void printStars(int lines) { 
     if (lines<=1) { 
      printPattern(1); 
     } else { 
      printPattern(lines); 
      printStars(lines-1); 
      printPattern(lines); 
     } 
    } 
} 
+0

それが動作するはずのようにあなたがルックスを掲載コードを試してみて、右?あなたは何をしていますか? –

+0

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。コードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。具体的には、あなたの*全体*プログラム*と*あなたが得た出力(あなたはすでに予想された出力を含んでいます)を投稿してください。自分のコードを自分の環境に貼り付け、コンパイルしてそのまま実行し、問題を引き起こす出力を受け取ることができるはずです。 – Prune

答えて

0

static void printPattern(int pattern) { 

    if(pattern>0){ 
     System.out.print("*"); 
     printPattern(--pattern); 
    }else{ 
     System.out.println(); 
    } 
}