1

重複の可能性:
Java で文字列を比較するにはどうすればよいですか?

import java.util.Scanner;

 public class stringComparer {
    public static void main(String[] args) {
        Scanner scan = new Scanner (System.in);
        System.out.println ("Enter 1 word here - ");
        String word1 = scan.next();

    System.out.println ("Enter another word here - ");
    String word2 = scan.next();

    if (word1 == word2) {
        System.out.println("They are the same");
    }
}
}

約 10 分前に動作していましたが、何かを変更しましたが、何らかの理由で「それらは同じです」と表示されませんか? とてもシンプルですが、どこが間違っているのかわかりません。

ありがとう!

4

3 に答える 3

1

==演算子は参照によってオブジェクトを比較します

2 つの異なるStringインスタンスが同じ値を保持しているかどうかを確認するには、 を呼び出します.equals()

したがって、

if (word1 == word2)

if (word1.equals(word2))
于 2012-10-28T02:12:38.993 に答える
0

これを試してみてください。動作するString is not primitiveので、チェック==すると参照がチェックされます。

import java.util.Scanner;
/**
 * This program compares two strings
 * @author Andrew Gault
 * @version 28.10.2012
 */
 public class stringComparer
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner (System.in);
        System.out.println ("Enter 1 word here - ");
        String word1 = scan.next();

    System.out.println ("Enter another word here - ");
    String word2 = scan.next();

    if (word1.equals(word2))
    {
        System.out.println("They are the same");
    }

}
}
于 2012-10-28T02:14:37.620 に答える
0

使用する

if (word1.equals(word2))
{
 System.out.println("They are the same");   
}

理由はこちら

于 2012-10-28T02:15:06.887 に答える