当我尝试编译时出现此错误。不兼容的数据类型:布尔型和int
imcomparible类型:布尔和int
result= (result) && (found_list[i] !=0);
为什么我得到这个错误?我如何解决它??
当我尝试编译时出现此错误。不兼容的数据类型:布尔型和int
imcomparible类型:布尔和int
result= (result) && (found_list[i] !=0);
为什么我得到这个错误?我如何解决它??
您正在尝试比较boolean类型的found_list[i]
int类型的0
然后改变
result= (result) && (found_list[i] !=0);
到
result= (result) && (found_list[i]);
由于found_list []是一个布尔数组,你可以与int值比较。 (found_list[i] !=0)
是错误的。
的方式做到这一点是:
result= (result) && (found_list[i]);
不像语言C,C++和许多其他0
& 1
不false
&在java中true
。
这是一个常见的错误。此外,检查诸如boolean != false
之类的内容与检查boolean
是否为真完全相同。即
if(b != false)
是相同
if(b)
所以,你可以做
result = result && found_list[i];
布尔只需要真正的假的值,并没有别的像其他数据类型,如int,长,双,短等...
因此,如果结果是一个布尔值,你存储在它的值也应该是一个博不管是真还是假,都是这样的。
result= (result) && (found_list[i] !=0);
这里(结果)是TRUE的假。如果你刚刚intialized并留下像
布尔结果;
然后,这里的值是false.Else,如果您在此之前修改了它,它将成为相应的值。
Now(found_list [i]!= 0);是一种错误的编码方式。如果found_list []是一个布尔值,则无法将其与int值进行比较(在本例中为0)。
你或者想要做的是 true/false!= 0这是无法比较的。
因此你得到这个错误。你可以改为
result= ((result) && (found_list[i]))
found_list的类型是什么? –
boolean [] found_list = new boolean [num_of_rotors]; – user1514362
如果结果为int类型,则由于(result)&&(found_list [i]!= 0)是布尔表达式,因此出现错误。也(结果)将是错误的。结果的类型是什么? –