错误:不兼容的类型?我怎么能这样做?

时间:2014-02-13 13:05:55

标签: java incompatibletypeerror

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)

处的类型不兼容

4 个答案:

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

试试这个。