返回double类型仍报错:提示需返回double的方法问题排查
问题原因及解决办法
你的函数仅在两个特定条件分支里返回了double数值,但当所有条件都不满足时,函数没有返回任何值。编译器要求声明返回double类型的函数,必须保证代码执行的每一条路径都能返回对应类型的值,因此会抛出This method must return a result of type double的错误。
解决方法很简单,添加一个默认返回分支,覆盖所有未匹配的情况:
if (currentAgent == Halteteil && predecessor == Oberteil) { return 40.4; } else if (currentAgent == Oberteil && predecessor == Ring) { return 13.5; } // 根据业务逻辑设置合理的默认延迟值,这里以0.0为例 return 0.0;
或者用else分支明确处理剩余情况:
if (currentAgent == Halteteil && predecessor == Oberteil) { return 40.4; } else if (currentAgent == Oberteil && predecessor == Ring) { return 13.5; } else { // 替换为符合业务需求的默认值 return 0.0; }
这样无论currentAgent和predecessor是什么组合,函数都能确保返回一个double类型的值,消除编译错误。
内容的提问来源于stack exchange,提问作者Xitus
相关产品推荐
相关产品推荐

