Okapi Project   Web technological site for the beginner... Top

一覧画面にタイトルを出力しよう!

タイトルの3番目まで、「new」と出力するには for 文の i 変数の値が 0 〜 2 の場合「new 」と出力し、3〜 は出力しないようにします。このようにプログラムを分岐したいときは、if 文を使います。

では、このプログラムの動きを見てみましょう。
String[] titles = { ・・・・・};
で、String 型の配列に初期値が設定されます。

次に、titleOut() メソッドが呼び出されると、要素番号が 0 〜 2 の「オカピ新聞」「ランランランド新聞」「Java 新聞」の後ろには、「 new」と付けて出力されます。

ここでもし、for 文の条件式が、 i < 10 となっていたら、このプログラムはどうなるでしょうか?
i が 5 になった時、else の {} の中の処理を行なうことになり、titles[5] となります。要素番号が 5 の値は配列にありません。すると、実行エラーが発生します。(java.lang.ArrayIndexOutOfBoundsException: 5)
慣れるまでは、よく出るエラーなので覚えておきましょう。

コンソールに出力します。

public class ListOut {
    // 配列に初期値を設定しています。
    String[] titles = { "オカピ新聞", "ランランランド新聞",
                        "Java 新聞", "オカピ新聞",
                        "ランランランド新聞" };
    /**
     * 新聞名を配列より 0 〜 4 まで、5つ出力します。
     * ただし、3 以下の場合は、new と後ろに出力します。
     */
    public void titleOut() {
        for (int i = 0; i < 5; i++) {
            if (i < 3) {
                System.out.println(titles[i] + " new");
            } else {
                System.out.println(titles[i]);
            }
        }
    }
}