gpt4 book ai didi

java - if/else语句缺少返回语句

转载 作者:行者123 更新时间:2023-12-02 11:00:24 25 4
gpt4 key购买 nike

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;

}
为什么这会给我一个丢失的return语句错误?每个if/else都有返回
最后一个括号出现错误

最佳答案

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

我建议:

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语句缺少返回语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com