我不知道为什么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);
}
}
答案 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;
}