猿问

Java 计算布尔数组

目前,我正在处理注册表。我有一个方法,可以检查数组中的每个字段,以查看它是否为空,并将结果保存为另一个数组中的布尔值。


基本上,用户必须输入他的名字,电子邮件等才能注册。我有一个函数,它检查所有字段是否为空,之后它将结果存储在布尔数组中。


如何总结布尔数组的结果?我怎么能做这样的事情?


boolean resultOverAll = false;

boolean[] validationResultsPerField = new boolean[fields.length];


    for (int i = 0; i < validationResultsPerField.length; i++){

        if (validationResultsPerField[i] && validationResultsPerField[i+1]){

            resultOverAll = true;

        }

    }

显然,我的逻辑不对。


慕哥6287543
浏览 154回答 3
3回答

喵喔喔

基本上,您要检查布尔数组是否全部为真。public static boolean areAllTrue(boolean[] array) {&nbsp; &nbsp; for(boolean b : array) if(!b) return false;&nbsp; &nbsp; return true;}

九州编程

必须检查所有数组元素是否都为真。您可以使用 Java 8 Streams 进行函数式编程来完成此任务:Boolean[] validationResultsPerField = new Boolean[fields.length];boolean resultOverAll = Stream.of(validationResultsPerField).allMatch(validationResult -> validationResult);

RISEBY

这是解决方案。boolean resultOverAll = true; // lets assume all fields are validfor (int i = 0; i < validationResultsPerField.length; i++){&nbsp; &nbsp; if (!validationResultsPerField[i]){ // if you find any false then break&nbsp; &nbsp; &nbsp; &nbsp; resultOverAll = false;&nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答