26.1.2.9 長方形の枠

繰返しの繰返しにちょっと慣れたところで,次のような長方形を表示することを考えましょう.

********************
*                  *
*                  *
*                  *
********************

先頭と末尾の行は単なる「横棒」ですが,問題は間の行です.間の行は,

"*" 1個,スペース18個, "*" 1個

ですから,これも繰返しで書けますね.やってみましょう.

class RectEmpty{
    public static void main(String argv[]){
	int i,k;
	for(i=1; i<=20; i=i+1)   // 第1行目
	    System.out.print("*");
	System.out.println();
	for(k=2; k<=9; k=k+1){    // 中間の各行について
	    System.out.print("*");    // 先頭の"*"
	    for(i=2; i<=19; i=i+1) // 間のスペースたち
		System.out.print(" ");
	    System.out.println("*");  // 行末の"*"
	}
	for(i=1; i<=20; i=i+1)   // 最終行
	    System.out.print("*");
	System.out.println();
    }
}

fileRectEmpty.java (iso-2022-jp)

何だか見た目がごちゃごちゃしていますが,繰返しが二重になっていることがわかりますね.このごちゃごちゃを改善する方法は後で学びます.