0

コンパイルしようとすると、このエラーが発生します。

比較できない型: boolean と int

result= (result) && (found_list[i] !=0);

なぜこのエラーが発生するのですか? どうすれば修正できますか??

4

4 に答える 4

2

found_list[i]ブール0型とint型を比較しようとしています

次に変更します

result= (result) && (found_list[i] !=0); 

result= (result) && (found_list[i]); 
于 2012-09-21T04:37:31.883 に答える
2

found_list []はブール配列であるため、int値と比較することはできません。(found_list[i] !=0)間違っている。

それを行う方法は次のようになります。

result= (result) && (found_list[i]);
于 2012-09-21T04:37:49.453 に答える
2

c、c++、および他の多くの言語とは異なり、0&はJavaでは&で1 はありません。 falsetrue

これはよくある間違いです。また、次のようなチェックを行うことboolean != falseは、真かどうかをチェックすることとまったく同じbooleanです。すなわち

if(b != false)

と同じです

if(b)

だから、あなたはすることができます

result = result && found_list[i];
于 2012-09-21T04:43:49.567 に答える
0

Boolean は True または False のみを値として取り、int、long、double、short などの他のデータ型のようなものは何も取りません...

したがって、結果がブール値の場合、そこに格納する値も真または偽のブール値である必要があります。

result= (result) && (found_list[i] !=0); 

ここ(結果) は True または False のいずれかです。

ブール値の結果。

その場合、ここの値は false です。Else の前にどこかで変更した場合は、それぞれの値になります。

今 (found_list[i] !=0); 間違ったコーディング方法です。found_list[] がブール値の場合、それを int 値 (この場合は 0) と比較することはできません。

あなたまたはここでやろうとしていることは、比較できない true/false!=0 です。

したがって、このエラーが発生しています。代わりに、次のように変更できます。

result= ((result) && (found_list[i]))
于 2012-09-21T04:49:49.643 に答える