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
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;
}