结果必须是大于单词" 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");
}
}
答案 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))
您的循环条件不正确