2014-12-11 29 views
-1

對java比較新。我試圖順序搜索字符串數組,但我認爲我的if語句有問題,因爲布爾標誌保持爲false。代碼與int數組一起工作,所以我不明白這個有什麼問題。在字符串數組中順序搜索問題

public static void sequentialNameSearch(String[] array) { 
    // sequential name search 
    Scanner input = new Scanner(System.in); 
    String value; 
    int index = 0; 
    boolean flag = false; 
    System.out.println("\nPlease enter a name to search for"); 
    value = input.next(); 

    while (flag == false && index < array.length - 1) { 
     if (array[index] == value) { 
      flag = true; 
      System.out.println(array[index] + " is number " 
       + (index + 1) + " in the array."); 
     } 
     else if (index == array.length - 1) 
      System.out.println("That name is not in the array"); 

     index++; 
    } 

    input.close(); 
} 
+0

可能重複[?我如何在Java中比較字符串(http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – azurefrog 2014-12-11 04:42:22

回答

0

什麼是錯的,你不能比較兩個字符串用==內容。 爲此,您應該使用其中一個字符串的equals()或equalsIgnoreCase()方法。例如:

if (array[index].equals(value)) {