Don*_*ter 0 java loops for-loop boolean compilation
出于某种原因,真假被认为是"不兼容的类型".我只想通过布尔方法运行它吗?它出什么问题了.
for(int i = 0; i < array.length ; i++)
{
int val = (array[i] % 2);
if(val == 0)
array[i] = true;
else
array[i] = false;
}
Run Code Online (Sandbox Code Playgroud)
好吧array可能是一个int[],因为你正在使用array[i] % 2并将结果分配给int.
有没有转换,从boolean到int,所以你不能将结果保存回的int[]阵列.目前还不清楚你要做什么,但这就是为什么它没有编译.
在旁边
如果你有一个boolean[]相同大小的单独的,那就行了 - 虽然它更简单地写成:
boolean[] even = new boolean[array.length];
for (int i = 0; i < array.length; i++) {
even[i] = (array[i] % 2) == 0;
}
Run Code Online (Sandbox Code Playgroud)
任何时候你发现自己:
if (someCondition) {
doSomething(true);
} else {
doSomething(false);
}
Run Code Online (Sandbox Code Playgroud)
你应该考虑将它重构为:
doSomething(someCondition);
Run Code Online (Sandbox Code Playgroud)