「三角形」を上下二つ合わせたような,次の図形を描いてみましょう.
* ** *** ... **** ***** **** ... *** ** *
これは二重の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) | |||