Java 为什么我能';在静态方法中,不能以这种方式返回任何内容
我写了一段代码只是为了训练一点,我想知道为什么我不能使用这个符号Java 为什么我能';在静态方法中,不能以这种方式返回任何内容,java,return,static-methods,Java,Return,Static Methods,我写了一段代码只是为了训练一点,我想知道为什么我不能使用这个符号 public static double retangleArea (double c, double d) { double area = c * d; if ( c < 0 || d < 0) { System.out.println("Error."); return; } return area; } 公共静态双重夹角区域(双c,双d){ 双面积=c*d; if(c
public static double retangleArea (double c, double d) {
double area = c * d;
if ( c < 0 || d < 0) {
System.out.println("Error.");
return;
}
return area;
}
公共静态双重夹角区域(双c,双d){
双面积=c*d;
if(c<0 | | d<0){
System.out.println(“错误”);
返回;
}
返回区;
}
如果我在main()中调用这个方法,它会大叫“Error.”,并且仍然用一个负数计算(c*d),但我只想让打印显示出来。嗯,我知道如何解决这个问题,我只是想了解为什么我不能这样做,这有什么问题 只能使用
return
如果方法返回void
则只能使用return
如果该方法返回void
三种方法:
抛出异常,而不是将错误写入控制台。您可以在catch
块中写入控制台,在那里您可以更好地处理错误
Double
(注意大写),如果不想计算值,则返回null
java.lang.Optional
作为返回类型抛出异常,而不是将错误写入控制台。您可以在catch
块中写入控制台,在那里您可以更好地处理错误
Double
(注意大写),如果不想计算值,则返回null
java.lang.Optional
作为返回类型其中,我更喜欢并因此推荐1。您的方法是
public static double
这意味着您在任何情况下都必须返回double。您可以将其设置为公共静态void
,并将值传递给类的字段 您的方法是publicstaticdouble
,这意味着您在任何情况下都必须返回double。您可以将其设置为公共静态void
,并将值传递给类的字段 您将方法声明为返回double
,因此必须返回double
。如果您只希望有时返回值,请查看。或者,您可以验证输入并在c或d<0时引发异常。您将方法声明为返回double
,因此必须返回double
。如果您只想有时返回一个值,请看一看。或者,您可以验证您的输入,并在c或d小于0时引发异常。因此,基本上,当我声明double方法时,我必须返回双值,如果语句不违反我的条件,我可以引发异常,以便不更改我的方法类型。是吗?没错。使用异常机制来处理意外情况。因此,基本上,当我声明一个double方法时,我有义务返回双值,如果该语句没有违反我的条件,我可以抛出异常,以便不更改我的方法类型。是吗?没错。使用异常机制处理意外情况。