Java if / else语句缺少返回语句

public int checkGuess(int g, int randomnumber){

number=g;

this.randomnumber= randomnumber;

if (number == randomnumber)

return 0;

else if (number < randomnumber)

return -1;

else if (number > randomnumber)

return 1;

}

为什么这给了我一个丢失的退货陈述错误?每个if / else都有返回值,最后一个括号出现错误

回答:

每个return语句都在一个if语句内。虽然从逻辑上讲这是不可能的,但是当所有if评估都不为真时,编译器需要返回。

我建议:

public int checkGuess(int number, int randomnumber){

int retVal = 0;

this.randomnumber= randomnumber;

if (number == randomnumber) {

retVal = 0;

} else if (number < randomnumber) {

retVal = -1;

} else if (number > randomnumber) {

retVal = 1;

}

return retVal;

}

我认为,此解决方案可解决编译器问题并稍微提高可读性。

或者,有以下解决方案:

public int checkGuess(int number, int randomnumber){

this.randomnumber= randomnumber;

if (number == randomnumber) {

return 0;

} else if (number < randomnumber) {

return -1;

} else if (number > randomnumber) {

return 1;

} else {

//throw an exception

}

}

引发异常将使你可以退出方法而无需返回任何信息……因为可以说,如果到达最后一个else,显然会出错。

以上是 Java if / else语句缺少返回语句 的全部内容, 来源链接: utcz.com/qa/425878.html

回到顶部