「三角形」を上下二つ合わせたような,次の図形を描いてみましょう.
* ** *** ... **** ***** **** ... *** ** *
これは二重のfor形式を二つ合わせればOKです.
class Dtri{ public static void main(String argv[ ]){ int p; for(p=1; p<=10; p=p+1) starline(p); for(p=9; p>=1; p=p-1) starline(p); } static void starline(int k){ int i; for(i=1; i<=k; i=i+1) System.out.print('*'); System.out.println(); } }
このメソッド starline は単純な反復ですから,次のように再帰を使っても書くことができます.
static void starline(int k){ if(k>0){ System.out.print('*'); starline(k-1); }else{ System.out.println(); } }
もっとプログラム全体にわたる再帰構造はないでしょうか.
26.1.5.9 再帰メソッド | 26.1.5.10 再帰の使用 | 26.1.5.11 再帰の構造 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Mon, 26 Apr 2004 12:59:29 JST (1922d) |