2013-04-13 25 views
-1

爲什麼這不起作用,我真的不明白爲什麼?爲什麼在使用掃描儀時,此IF語句不起作用?

import java.util.Scanner; 

public class xenon { 
    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     if (scan.next() == "foo") { 
      System.out.print("Go foo!"); 
     } else { 
      System.out.print("Oh fooey!"); 
     } 
     scan.close(); 
    } 
} 

謝謝。

+0

使用equals方法而不是==。 – AmitG

+0

@ user2277205歡迎來到StackOverflow,這個問題是Java常見問題解答之一,請閱讀以下內容:http://stackoverflow.com/tags/java/info – ajduke

回答

1

聲明f (scan.next() == "foo") {比較,如果,如果他們引用是相同的兩個對象都是相同的,即。但你想要的是檢查是否對象是由其內容相似,而不是參考。

您必須使用此:f (scan.next().equals("foo")) {而不是上述語句,它檢查兩個對象是否相似(按內容)。