Tips

【Java】プログラム作成練習問題18

【Java】プログラム作成練習問題18

プログラム作成問題の第18回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

2つのString型の変数が同じ文字列かどうか判定するプログラムを作成せよ

解答例1
package exercise;

public class Exercise_018 {
	public static void main(String[] args) {
		String str1 = "hello";
		String str2 = "hello";

		String result;
		if(str1.equals(str2)) {
			result = "同じ文字列です。";
		} else {
			result = "異なる文字列です";
		}
		System.out.println(result);
	}
}

間違い例

package exercise;

public class Exercise_018 {
	public static void main(String[] args) {
		String str1 = "hello";
		String str2 = "hello";

		String result;
		if(str1 == str2) {
			result = "同じ文字列です。";
		} else {
			result = "異なる文字列です";
		}
		System.out.println(result);
	}
}

equalsメソッドではなく、==演算子で比較しています。
この場合、「文字列の比較」ではなく、「参照先の比較」になってしまいます。
エラーができるわけでもなく実行できてしまうため、間違いに気が付きにくいです。
注意しましょう。


  

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search