gpt4 book ai didi

java - 当只有一个条件为真时,如何使条件语句返回真?

转载 作者:行者123 更新时间:2023-12-03 23:26:17 24 4
gpt4 key购买 nike

我需要实现一个功能,该功能将 boolean 值列表作为输入,并且仅当其中一个条件为真时才返回真(如果更多,则返回假)。更正式地说,f(c1, c2, c3 ... cN)返回真当且仅当 只有一种条件为真 ,否则返回false。
我实现了这个方法,

boolean trueOnce(boolean[] conditions) {
boolean retval = false;
for (boolean c: conditions) {
if (c) {
if (!retval) {
retval = true;
} else {
retval = false;
break;
}
}
}
return retval;
}
但我要求更实用的东西。我正在使用 Java,但我认为这个问题对于每种语言都是普遍的。谢谢。
编辑:上面的例子很好地完成了这项工作,我只是要求一种更实用的方法。

最佳答案

一个简单的循环,条件计数 true存在是一种简单的方法 return 语句是一个比较返回 boolean ,是否true count 正好等于 1:

long count = 0;
for (boolean condition: conditions) {
if (condition) {
count++;
}
}
return count == 1;
这总是迭代所有并不总是必要的数组。当有两个 true时可以优化迭代停止值,因此继续迭代是没有意义的。
long count = 0;
for (boolean condition: conditions) {
if (condition && ++count > 1) {
break;
}
}
return count == 1;

关于java - 当只有一个条件为真时,如何使条件语句返回真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65689181/

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