簡體   English   中英

如何在Java中返回布爾值?

[英]How do I return boolean in Java?

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

我得到一個錯誤說: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;
} 

它只返回true作為輸出。

我不知道我在這里做錯了什么!

您的第一個代碼段導致錯誤,因為您沒有滿足else情況。 else if您希望在不滿足if語句的所有情況下執行第二個條件, else if此處不需要else if 嘗試將其更改為:

public boolean isOdd (int value) {

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

} 

或更簡單地說:

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

您需要在第一個片段中添加默認返回值,也就是不在任何if內部的片段。

做就是了

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

你需要一個別的或至少另一個回報。 如果你的if語句都不匹配,那么將不會返回任何內容,這是不允許的。

public boolean isOdd (int value) {

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

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

return true;

}

您可以使用以下方法替換該方法:

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

如果添加了else語句,即編譯錯誤就會消失

if ((value % 2)== 0) { 
    return false;
} else if ((value % 2) > 0){ 
   return true;
} else {
   return ??; // default value
}

如果((value % 2) < 0)怎么辦? 你不是在迎合這種可能性,如果發生這種情況就沒有回頭路。

public boolean isEven (int value) {
  return value%2==0;
} 

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

你也可以這樣做:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM