当前位置: 首页 > 知识库问答 >
问题:

布尔返回法

从渊
2023-03-14

这是一个布尔方法,是我作业的一小部分。我想根据输入和记录之间是否匹配来返回true或false。我想我遇到了语法问题。

public boolean checkPhone(String[]param) {
    for(String s: param)
    {
        for(Residents r: petshop)
        {
            if(s.equals(r.getPhone()))
            {
                return true;
            }
        }

    }       
}

这是该方法的代码,但始终有红线指示我应该在代码中添加return,否则将该方法更改为void。但我已经在if语句中添加了return true。

共有3个答案

汤嘉平
2023-03-14

或者,您可以声明一个boolean retVal=false,并在s.equals(r.getPhone())的情况下将其设置为true,但始终返回此变量。

public boolean checkPhone(String[] param) {
    // declare the return value
    boolean retVal = false;
    for (String s : param) {
        for (Residents r : petshop) {
            if (s.equals(r.getPhone())) {
                retVal = true;
            }
        }
    }
    return retVal;
}

与@maio290的解决方案不同的是,无论某个元素是否满足条件,循环总是完全运行。这可能会成为性能问题。

叶景龙
2023-03-14

只需添加一个返回false for循环之外,这样该方法在所有可能的条件下都有一个return语句。这意味着,即使方法执行从未找到匹配项,该方法也应该能够返回布尔值,即false,这意味着它没有找到任何匹配项。

public boolean checkPhone(String[] param)
{
    for (String s : param) {
        for (Residents r : petshop) {
            if (s.equals(r.getPhone())) {
                return true;
            }
        }
    }
    return false; // This is the fix
}

湛宏旷
2023-03-14

正如注释已经指出的,您需要一个额外的返回,因为具有非空返回类型的每个方法都需要每个可能的路径都有一个返回值。

public boolean checkPhone(String[] param)
{
    for (String s : param) {
        for (Residents r : petshop) {
            if (s.equals(r.getPhone())) {
                return true;
            }
        }
    }
    return false;
}
 类似资料:
  • 好的,我的问题是关于布尔返回。对于我的Comp-Sci作业,我必须使用多种方法制作一个课程注册程序,其中之一就是添加课程方法。基本上,在目录中搜索类,如果匹配,则将其添加到学生计划中,并返回布尔值true。我这么做了,但出于某种原因,这给了我一个错误。以下是代码: 为什么它不能识别布尔返回值?是因为我把它们放在了一个圈里吗?

  • 我尝试使用Mockito使用JUnit测试测试以下方法: } 然而,我在以下部分遇到了问题: 尽管我已经嘲笑了这个.petRepository.findById(id),但由于某种原因,isPresent()返回了false。这是我对测试的初始化: 因此,以下测试失败,即使它应该通过: 为了解决这个问题,我尝试模仿isPresent()方法: 但是我得到了下面的异常: org.mockito.ex

  • 问题内容: 关于以下原因为何的任何想法。 当我将request_url粘贴到浏览器中时,我会获取json数据,但是如果我在php中尝试,则var_dump就是bool(false); 有任何想法吗?? 更新并修复 OK伙计们,感谢您的所有帮助。是的,我帮助我追踪了这一情况。事实证明,php.ini配置为禁止打开url,因此file_get_contents无法正常工作。我在各个站点上发现了以下方便

  • 是否可以编写如下JPQL查询: <代码>选择计数(*) 这将根据实体填充条件是否存在返回真/假布尔值? 我想这样使用查询: 我示例中的查询在语法上不正确(解析错误),但是是否有任何正确的方法可以像在JPQL中那样进行检查,从而返回布尔值,或者只有在Java代码中才有可能?

  • 问题内容: 我有一些EditText,用户可以输入ftp地址,用户名,密码,端口和testConnection按钮。如果成功建立连接,它将返回布尔值true。 我正在重新编写代码以使用AsyncTasks执行各种ftp操作,但是,如果连接成功,如何传递布尔值? 还有我的AsyncTask 问题答案: 如果myMethod从onPostExecute内部代码调用,它将在UI线程上运行。否则,你需要通

  • 有人能用简单的英语解释一下这句话背后的逻辑吗? 假设mContainsLoadingRow为布尔值,如果< code>mContainsLoadingRow为< code>true, 然后返回< code > getContentDataSize()1 。 如果没有,则返回 这是正确的看待方式吗?