该方法必须返回一个double,但我收到一个错误

use*_*506 -1 java

public double accessor(int n)
{
    switch(n)
    {
    case 0:
        return this.a;
        break;
    case 1:
        return this.b;
        break;
    case 2:
        return this.c;
        break;
    case 3:
        return this.d;
        break;
    case 4:
        return this.e;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

a,b,c,d,e都是double类型,但它告诉我break语句是不可达的,我必须返回一个double类型.我是java新手,如果这听起来很愚蠢,请原谅

rge*_*man 5

如果n不在0-4范围内怎么办?没有这种情况,也没有相关的return声明.

有一个default案例要么返回一个值(如果该值有效),要么抛出IllegalArgumentException一个无效值.

此外,虽然包含break;语句通常是一种很好的做法,但这里是不正确的,因为它们是无法访问的语句.a中的return陈述switch casebreak此处的陈述一样好,因为它也可以防止"落入"下一个案例.