Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 线性搜索数组字符串_Java_Arrays_Linear Search - Fatal编程技术网

Java 线性搜索数组字符串

Java 线性搜索数组字符串,java,arrays,linear-search,Java,Arrays,Linear Search,我需要在数组中查找字符串元素,但当我检查查看时,它总是显示为已找到,即使不是这样。我正在尝试调用一个方法 String name = ""; boolean result = false; if (option == 5) { System.out.println("Please enter a students name"); name = input.next(); linearSearc

我需要在数组中查找字符串元素,但当我检查查看时,它总是显示为已找到,即使不是这样。我正在尝试调用一个方法

    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;
String name=”“;
布尔结果=假;
如果(选项==5)
{
System.out.println(“请输入学生姓名”);
name=input.next();
线性搜索(学生);
如果(结果=真)
{System.out.println(name+“在元素中找到”);}
其他的
{System.out.println(name+“未在元素中找到”);}
}
公共静态布尔线性搜索(字符串b[]
{
字符串键=null;
布尔搜索返回=false;
for(int i=0;i
首先,如果(result==true){}//执行赋值,则应调用
应使用String.equals(str)方法检查字符串相等性

试一试

for(int i=0;i
if(result=true)
应该是
if(result==true)
或者干脆是
if(result)
。字符串比较:第三个错误是,您实际上并没有使用给定的
名称
,而是始终与
进行比较,该键是
null
:请注意编译器输出的任何警告消息。学生变量从何而来?它是我的字符串数组的名称,我正在将我的方法调用到if语句中。当我这样做时,它返回为找不到,即使它是正确的
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;
    }