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

运算符按引用比较==对象。

要确定两个不同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 回答