2013-02-26 78 views
-1

結果必須是大於「END」一詞的字符串。 這是我迄今爲止所做的,但它只是不工作。java語言中的更大字符串

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

'字!= 「END」'應該是'! 「END」 .equals(字)'。 – dasblinkenlight 2013-02-26 16:30:54

+0

你真的想做什麼?你的意思是比'END'更重要嗎? ENE是graterthan END。 ENC小於END。你在做什麼? – 2013-02-26 16:33:45

+0

是@ThilinaHewagama – 2013-02-26 16:40:58

回答

0

while(!"END".equals(word))你的循環條件是不正確的

1

您的詞典對比(即哪個詞早些時候按字母順序排列)是正確的。不過,您的環路狀況不正確:

while(word!="END") 

將始終爲真。你應該在這種情況下,循環會阻止在到達這個詞END將其更改爲

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

如果你想不區分大小寫的比較,使用compareToIgnoreCase代替compareToequalsIgnoreCase而不是equals

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