オブジェクトの比較をするプログラムを理解します。
新聞のタイトルに「オカピ」と入っている場合、タイトルの後ろに「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]); } } }