java语言中的更大字符串

时间:2013-02-26 16:29:34

标签: java string compareto

结果必须是大于单词" END"的字符串。 这是我到目前为止所做的,但它只是不起作用。

System.out.println("Write a word. The word "END" terminates the program");

String word = sc.nextLine();

if(word.equals("END")){
    System.out.println("Nothing has been typed");
}

while(word!="END"){
    if(word.compareTo("END") > 0){
        System.out.println(word+" is greater than END");
    }
}

3 个答案:

答案 0 :(得分:1)

您的词典比较(即哪个词在字母顺序上较早)是正确的。但是你的循环条件不正确:

while(word!="END")

永远是真的。你应该把它改成

while(!"END".equals(word))

在这种情况下,循环将在到达单词END时停止。

如果您希望不区分大小写的比较,请使用compareToIgnoreCase代替compareTo,使用equalsIgnoreCase代替equals

答案 1 :(得分:0)

while(word!="END") is always true because it check object reference .You should try
while(!"END".equals(word)) where object content is checked

答案 2 :(得分:0)

while(!"END".equals(word))您的循环条件不正确