public static int linearSearch(int[] data, int numToFind)
{
int found=-1;
for (int x=0;x<data.length;x++){
**if(data[x] =numToFind)**
found = x ;
break;
}
return found;
}
如果我有错误,则表示其在if(data[x]=numToFind)
答案 0 :(得分:1)
在if
条件内,它应该是boolean
值。你犯了一个错字,它应该是:
if (data[x] == numToFind)
答案 1 :(得分:0)
java中的IF语句需要boolean。你的代码应该是
if(data[x] ==numToFind)
这可能是一个错字。
来自C背景的用户经常犯的错误是混淆赋值和相等运算符=和==。如果要比较两个值,则应使用双等号,因为这就是Java的工作方式。如果您不小心使用了单个等号,则不要比较值,而是为变量赋值。 您的代码在C中完全有效,但在Java中不起作用
答案 2 :(得分:0)
您需要放置if(data[x] == numToFind)
。
使用一个= 分配。有两个是布尔 * 运算符 *。
答案 3 :(得分:-1)
public static int linearSearch(int data[], int numToFind)
{
int found=-1;
for (int x=0;x<data.length;x++){
if(data[x] == numToFind)
found = x ;
break;
}
return found;
}
试试这个。