我写了一段代码只是为了训练一点点,我想知道为什么我不能使用这种表示法。
public static double retangleArea (double c, double d) {
double area = c * d;
if ( c < 0 || d < 0) {
System.out.println("Error.");
return;
}
return area;
}
如果我在main()中调用此方法,它会喊出“#34;错误。”#34;并且仍然用负数计算(c * d)但是我只想要显示印刷品。好吧,我知道如何摆脱这个问题我只想理解为什么我不能这样做以及什么&问题就在于此。
答案 0 :(得分:4)
围绕这个的三种方式:
throw
异常而不是向控制台写错误。您可以在catch
块中写入控制台,您可以更好地处理错误。
将函数返回类型更改为Double
(注意大写),如果您不想计算值,则返回null
。
使用java.lang.Optional<T>
作为返回类型。
其中,我更喜欢,因此推荐1。
答案 1 :(得分:1)
如果方法返回return;
,则只能使用void
。
答案 2 :(得分:1)
您的方法是public static double
这意味着您必须在任何情况下都返回double。您可以将其设为public static void
并将值传递给类的字段。