文字列が等しいかどうかを調べるにはequalsメソッドを使います。等値演算子 == は2つの文字列が同一のオブジェクトを指すかどうかを判定するので、文字列の内容の比較には適しません。 たとえば、次のプログラムは、文字列の比較を行います。
import java.util.Scanner; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str1 = sc.next(); // "abc" String str2 = sc.next(); // "abc" String str3 = sc.next(); // "xyz" System.out.println(str1.equals(str2)); // true System.out.println(str1.equals(str3)); // false System.out.println(str1 == str1); // true System.out.println(str1 == str2); // false } }
たとえば、上のプログラムに"abc"、"abc"、"xyz"をこの順番に入力すると、以下の出力が得られます。
true false true flase
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |