我收到错误:非法开始表达,'else'没有'if',但在这里找不到任何语法错误。
public int faultyMethod2(int a, int b) {
int result;
if((a == 0) || b > 0)) {
result = (b / a);
}
else if (a < 0) {
result = (a + b);
}
return result;
}
答案 0 :(得分:1)
您的if((a == 0) || b > 0)) {
错字应为if((a == 0) || (b > 0)) {
。你错过了一个支架。
稍后您需要使用默认值result
。您可以提供in声明部分,也可以提供else部分并在那里给出默认值。
public int faultyMethod2(int a, int b) {
int result = 0;
if((a == 0) || b > 0)) {
result = (b / a);
}
else if (a < 0) {
result = (a + b);
}
return result;
}
或
public int faultyMethod2(int a, int b) {
int result;
if((a == 0) || b > 0)) {
result = (b / a);
}
else if (a < 0) {
result = (a + b);
}else {
result = 0;
}
return result;
}