Ame*_*tiq 2 java methods switch-statement
我正在尝试在其中具有switch语句的Triangle类中实现getter方法。通常,我会为每个参数一个一个地编写getter方法,但我认为我可以使用switch语句来对其进行优化。
通常情况会是这样的;
public double getSide1(){
return side1;
}
Run Code Online (Sandbox Code Playgroud)
但是每个三角形边要重复三遍。但是我想做些类似的事情;
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.");
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它无法识别切换案例本身的收益。所以我必须return 0在末尾添加。但随后的返回值为0。
那么我该如何解决呢?
The problem is in the default case of your switch statement:
default: System.out.println("Not a valid side.");
Run Code Online (Sandbox Code Playgroud)
Outputting an error message is not enough.
You must either return some default value
default: {
System.out.println("Not a valid side.");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
or (better) throw an exception when you reach the default case.
default: throw new IllegalArgumentException ("Not a valid side.");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |