2017-03-03 107 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

,当我这样做时,即使它是正确的 –