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的新手,请原谅
答案 0 :(得分:5)
如果n
不在0-4范围内怎么办?没有这种情况,也没有关联的return
声明。
有default
个案例,要么返回一个值(如果该值有效),要么抛出一个IllegalArgumentException
,因为它是无效值。
此外,虽然包含break;
语句通常是一种很好的做法,但这里不正确,因为它们是无法访问的语句。 return
switch
中的case
语句与此处的break
一样好,因为它还可以防止“落入”下一个案例。
答案 1 :(得分:0)
致电return
后,您无法拨打任何电话。只需在每个break
后删除de return
,同时制作default:
个案例,