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

特定のタイトルのみ表示を変えよう!

ポイント

オブジェクトの比較をするプログラムを理解します。

題材

新聞のタイトルに「オカピ」と入っている場合、タイトルの後ろに「green」と出力するプログラムを作ります。


まずは、プログラムを作ってみましょう。

タイトルに「オカピ」と入っている場合に「green」と出力します。

このプログラムで、今まででてこなかった
String title = titles[i].substring(0,3);
をまず覚えましょう。

substring() メソッドは、String クラスのメソッドで、二つの数字 i 、j を引数として渡すと、String の値の i 番目から、j - 1 番目までを返却する機能を持っています。ここでは、後で「オカピ」であるか調べるために、先頭から3文字取得します。

このプログラムは一見あっているように見えますが、間違っています。では、何が間違っているか見ていきましょう。

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

オカピ新聞 green
ランランランド新聞
Java 新聞
オカピ臨時新聞 green
ランランランド新聞

コンソール出力部分のプログラム

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