gpt4 book ai didi

java - 这段代码有什么问题,无法编译?

转载 作者:行者123 更新时间:2023-12-01 07:28:37 26 4
gpt4 key购买 nike

出于某种原因, true 和 false 被认为是“不兼容的类型”。我是否只能通过 boolean 方法来运行它?这是怎么回事。

for(int i = 0; i < array.length ; i++)
{
int val = (array[i] % 2);
if(val == 0)
array[i] = true;
else
array[i] = false;
}

最佳答案

好吧,array 可能是一个 int[],因为您正在使用 array[i] % 2 并将结果分配给一个int

没有从 booleanint 的转换,因此您无法将结果存储回 int[] 数组中。目前尚不清楚您要做什么,但这就是它无法编译的原因。

<小时/>

旁白

如果您有一个相同大小的单独的 boolean[],那就可以了 - 尽管它会更简单地写为:

boolean[] even = new boolean[array.length];
for (int i = 0; i < array.length; i++) {
even[i] = (array[i] % 2) == 0;
}

任何时候你发现自己:

if (someCondition) {
doSomething(true);
} else {
doSomething(false);
}

您应该考虑将其重构为:

doSomething(someCondition);

关于java - 这段代码有什么问题,无法编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com