Tips

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

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

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

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

問題

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

解答例1
[java] 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);
}
}
[/java]


間違い例

[java] 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);
}
}
[/java] equalsメソッドではなく、==演算子で比較しています。
この場合、「文字列の比較」ではなく、「参照先の比較」になってしまいます。
エラーができるわけでもなく実行できてしまうため、間違いに気が付きにくいです。
注意しましょう。


  

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

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search