请帮助我完成我的第一个java程序。我创建了一个方法“findCurrencyRate”,该方法应该返回字符串“texto”中包含的所选货币(在本例中为USD)的汇率。我只是不断收到编译错误:“此方法必须返回double类型的结果”。我的代码出了什么问题?帮助我理解......
FastBlur
{
x: 0
y: 0
height: Screen.desktopAvailableHeight
width: Screen.desktopAvailableWidth
source: video
radius: 100
}
答案 0 :(得分:0)
如果方法的返回类型为double
,则在所有情况下都需要返回double
,即使循环或if
块未执行也是如此。
一个简单的解决方案是在方法的末尾添加return 0.0;
。
答案 1 :(得分:0)
如果file.hasNextLine()
为false
会怎样?或者linea.next().equals(Currency)
是false
?该方法不会返回任何内容。正如错误消息所述,该方法必须返回一些内容。
所以你需要确保返回一些东西:
public static double findCurrencyRate(String Currency) {
// ... your existing code ...
while (file.hasNextLine()) {
// ... your existing code ...
}
// return some default value here
}
如果处理整个文件而没有找到要返回的值,那么至少返回某些。
注意:如果你真的不想返回任何,因为退出循环而没有找到匹配是某种错误条件,而不是返回您可以抛出异常的默认值。抛出异常是方法的有效退出,但是如果使用已检查的异常,则会改变方法签名。