[英]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.