在try中尝试使用if返回布尔值

时间:2016-04-07 10:12:29

标签: java database jdbc

我不知道为什么aI无法返回真假。它打印“缺少退货声明”。 我在网上寻找答案,但没有一个能解决我的问题。

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);
        }

}

4 个答案:

答案 0 :(得分:0)

您需要为所有场景设置一个return语句。

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

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

实际上可以替换为:

return cont >= 10;

但是:如果在此之前抛出异常会怎么样?

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

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

添加

return false;
在你的阻挡之后

,你的所有案件都将被覆盖。 JVM将知道每个场景返回什么,并且它将起作用。

答案 1 :(得分:0)

由于你的阻塞,它缺少一个return语句。

你或者需要在那里返回一些内容,或者抛出异常。

答案 2 :(得分:0)

只需将其更改为:

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;
}

答案 3 :(得分:0)

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

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

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

    }