Java,我如何在方法中放置一个开关盒?
我试图在一个三角形类中实现一个getter方法,该类中有一个switch语句。通常,我会为每个参数逐个编写getter方法,但我认为可以使用switch语句来优化它
通常,它会是这样的
public double getSide1(){
return side1;
}
但每个三角形边有三次。但我想做一些事情,比如
public double getSide(int n) {
switch (n) {
case 1: return side1;
case 2: return side2;
case 3: return side3;
default: System.out.println("Not a valid side.");
}
}
出于某种原因,它无法识别开关盒本身中的返回。因此,我必须在末尾添加return 0
。但这样的话,回报率将是0
那么我该如何解决这个问题呢
# 1 楼答案
为了避免这个问题,并遵循最佳实践来降低复杂性,最好只有一条“返回路径”
例如:
# 2 楼答案
如果您不返回任何东西,那么您选择了一个,抛出一个选中或未选中的异常:
或者:
# 3 楼答案
问题出现在switch语句的默认情况下:
仅输出错误消息是不够的
您必须返回一些默认值
或者(更好)在达到默认情况时抛出异常