2017-03-03 147 views
-1

我需要在我的數組中找到一個字符串元素,但是當我查看時,它總是以發現的方式出現,即使它不是這種情況。我正在嘗試調用一種方法。線性搜索數組字符串

String name = ""; 
    boolean result = false; 




    if (option == 5) 
      { 
     System.out.println("Please enter a students name"); 
     name = input.next(); 

     linearSearch(student); 


     if (result = true) 
     {System.out.println(name+" found in element ");} 

     else 
     {System.out.println(name+" not found in element ");} 


    } 


public static boolean linearSearch(String b[]) 
{ 
String key = null; 
boolean searchReturn = false; 
for(int i = 0; i < b.length; i++) 
{ 
    //if key is found - return position of key i.e. n 
    if(b[i] == key) 
    searchReturn = true; 
} 

return searchReturn; 
+3

''如果(結果=真)''應''如果(結果== TRUE)''或簡單地''如果(結果)''。 – f1sh

+0

字符串比較:http://stackoverflow.com/q/513832/335858 – dasblinkenlight

+1

還有第三個錯誤,你實際上並沒有使用給定的'name',而是總是與'null'的'key'進行比較。 –

回答

0

首先你應該叫if(result == true){} //you performing a assignment.

+0

也是學生變量來自哪裏? – Remario

+0

它是我的字符串數組的名稱,即時調用我的方法進入if語句 –

1

字符串平等應該String.equals(STR)的方法進行檢查。

嘗試

for(int i = 0; i < b.length; i++) 
    { 
     //if key is found - return position of key i.e. n 
     if(b[i].equals(name)) 
     searchReturn = true; 
    } 
+0

,當我這樣做時,即使它是正確的 –