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作为输出。
我不知道我在这里做错了什么!
答案 0 :(得分:8)
您的第一个代码段导致错误,因为您没有满足else
案例。您不需要else if
,因为您希望在不满足if语句的所有情况下执行第二个条件。尝试将其更改为:
public boolean isOdd (int value) {
if ((value % 2)== 0){
return false;
}
else { return true; }
}
或更简单:
public boolean isOdd (int value) {
return ((value % 2) != 0);
}
答案 1 :(得分:5)
你需要在第一个片段中添加一个默认的返回值,即一个不在任何if片段内的片段。
答案 2 :(得分:2)
只做
public boolean isOdd(int value) {
return (value % 2) != 0;
}
答案 3 :(得分:2)
你需要一个别人或至少另一个回报。如果你的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; }
答案 4 :(得分:2)
如果添加else
语句,即
if ((value % 2)== 0) {
return false;
} else if ((value % 2) > 0){
return true;
} else {
return ??; // default value
}
答案 5 :(得分:1)
如果((value % 2) < 0)
怎么办?你不是在考虑这种可能性,如果发生这种情况就没有回头路。
答案 6 :(得分:0)
public boolean isEven (int value) {
return value%2==0;
}
public boolean isOdd (int value) {
return value%2!=0;
}
答案 7 :(得分:0)
你也可以这样做:
public boolean isOdd (int value) {
if ((value % 2) == 0)
return false;
return true;
}