如何在Java中返回布尔值?

Kim*_*mmm 4 java if-statement boolean

public boolean isOdd (int value) {
    if ((value % 2)== 0){ 
        return false; 
    } else if ((value % 2) > 0){ 
        return true; 
    }
} 
Run Code Online (Sandbox Code Playgroud)

我得到一个错误说:private boolean isOdd(int value)throws Exception {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^这方法必须返回boolean类型的结果

我试过做:

public boolean isOdd (int value) {
    boolean isOdd =  ((value % 2) > 0);
    return true; 
} 

public boolean isEven (int value) {
    boolean isEven = ((value % 2) > 0);
    return true;
} 
Run Code Online (Sandbox Code Playgroud)

它只返回true作为输出.

我不知道我在这里做错了什么!

Joe*_*son 9

您的第一个代码段导致错误,因为您没有满足此else案例.您不需要在else if此处,因为您希望在不满足if语句的所有情况下执行第二个条件.尝试将其更改为:

public boolean isOdd (int value) {

    if ((value % 2)== 0){ 
        return false; 
    } 
    else { return true; }

} 
Run Code Online (Sandbox Code Playgroud)

或更简单地说:

public boolean isOdd (int value) {
    return ((value % 2) != 0);
}
Run Code Online (Sandbox Code Playgroud)


小智 5

您需要在第一个片段中添加默认返回值,也就是不在任何if内部的片段.