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

时间:2014-12-03 00:24:43

标签: 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;
    }
}

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

2 个答案:

答案 0 :(得分:5)

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

default个案例,要么返回一个值(如果该值有效),要么抛出一个IllegalArgumentException,因为它是无效值。

此外,虽然包含break;语句通常是一种很好的做法,但这里不正确,因为它们是无法访问的语句。 return switch中的case语句与此处的break一样好,因为它还可以防止“落入”下一个案例。

答案 1 :(得分:0)

致电return后,您无法拨打任何电话。只需在每个break后删除de return,同时制作default:个案例,