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