为什么我的方法说它必须返回一种类型的 int,即使我使用的是 int [duplicate] 的返回类型

Why does my method say it must return a type of int even though I'm using return type of int [duplicate]

提问人:Patrick Rain 提问时间:11/6/2023 最后编辑:Hovercraft Full Of EelsPatrick Rain 更新时间:11/6/2023 访问量:60

问:

为什么我的方法说它必须返回一种 int 类型,即使我使用的是 int 的返回类型? 但是当我添加 else 时,返回任何值,例如 0。它有效。

if (number1 >= number2 && number1 >= number3) {
    return number1;
} else if (number1 >= number2 && number1 <= number3) {
    return number3;
} else if (number2 >= number1 && number2 >= number3) {
    return number2;
} else if (number2 >= number1 && number2 <= number3) {
    return number3;
} else if (number3 >= number1 && number3 >= number2) {
    return number3;
} else if (number3 >= number1 && number3 <= number2) {
    return number2;
} else {
    return 0;
}
Java Eclipse OOP 方法

评论

6赞 user85421 11/6/2023
因为所有可能的执行路径都必须以 a 结尾 - 编译器不运行代码,所以它无法知道¹给定的条件是否穷尽,因此它假设最后一个条件也可以在计算时 ||¹ 未指定这样做returniffalse
0赞 Patrick Rain 11/6/2023
非常感谢。我只是明白该方法必须以 return 结尾。并且刚刚意识到该程序并不关心是否所有条件都已用尽,而其他条件是否意味着所有其他条件都不重要。
0赞 Patrick Rain 11/6/2023
我怎么能把这个作为答案
2赞 Hovercraft Full Of Eels 11/6/2023
这是许多问题的重复,因此实际上不需要答案。

答: 暂无答案