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

在try[duplicate]中返回带有if的布尔值

葛承教
2023-03-14

我不知道为什么人工智能不能返回真假。它打印“丢失的返回声明”我在网上寻找答案,但没有一个能解决我的问题。

public boolean Verification(String SQL) throws IOException{
    try{
        Statement statementCount=connection.createStatement();
        ResultSet results = statementCount.executeQuery(SQL);

        String Cont=results.getString("ContadorFecha");
        int cont=Integer.parseInt(Cont);
        if (cont>=10){
            return true;
        } else {
            return false;
        }

    }catch(SQLException ex) {
            ex.printStackTrace();
            System.out.println("Exception in register: " + ex);
        }

}

共有3个答案

傅恺
2023-03-14

只需将其更改为:

public boolean Verification(String SQL) throws IOException {
    try {
        Statement statementCount = connection.createStatement();
        ResultSet results = statementCount.executeQuery(SQL);

        String Cont = results.getString("ContadorFecha");
        int cont = Integer.parseInt(Cont);
        if (cont >= 10) {
            return true;
        }

    } catch (SQLException ex) {
        ex.printStackTrace();
        System.out.println("Exception in register: " + ex);
    }
    return false;
}
海信鸥
2023-03-14

因为你的catch block,它缺少一个return语句。

你要么也需要返回其中的内容,要么抛出异常。

邹驰
2023-03-14

对于所有可能的场景,都需要一个返回语句。

在这个例子中,似乎是因为:

if (cont>=10){
            return true;
        } else {
            return false;
        }

这实际上可以被以下内容取代:

return cont >= 10;

但是:如果在此之前抛出了一个异常呢?

try块已完成,并已处理(如果它是这种类型的异常,无论如何)

catch(SQLException ex) {
            ex.printStackTrace();
            System.out.println("Exception in register: " + ex);
        }

添加一个

return false;

在你被拦截后,你所有的案子都会被覆盖。JVM将知道在每个场景中返回什么,并且会工作。

 类似资料:
  • 在VueJS中,我尝试使用axios返回布尔值 console.log刚刚返回 Promise{[[PromiseState]]:"待定",[[PromiseValue]]:未定义} 但我想要的回报不是真就是假。

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

  • 问题是,如果我输入一个正数(所以一切都正确),我必须输入它两次!同样,当我输入一个负数时,我需要输入两次。当我输入一个字符串时,我会得到一个“错误”,所以我想这还算不错。它是这样显示的: Bitte geben Sie die kleinste阳性Zahl des Intervalls Ein:-2 -3 -7 Bitte Geben Sie eine阳性Zahl ein 2

  • 这是一个布尔方法,是我作业的一小部分。我想根据输入和记录之间是否匹配来返回true或false。我想我遇到了语法问题。 这是该方法的代码,但始终有红线指示我应该在代码中添加return,否则将该方法更改为void。但我已经在if语句中添加了return true。

  • 好的,我的问题是关于布尔返回。对于我的Comp-Sci作业,我必须使用多种方法制作一个课程注册程序,其中之一就是添加课程方法。基本上,在目录中搜索类,如果匹配,则将其添加到学生计划中,并返回布尔值true。我这么做了,但出于某种原因,这给了我一个错误。以下是代码: 为什么它不能识别布尔返回值?是因为我把它们放在了一个圈里吗?

  • 今天我得到了一个关于代码的评论,考虑到我在学校作业中检查变量是真还是假的方式。 我编写的代码如下所示: 他们说这样写更好/更整洁: 例如,0和1不应该在该变量中。