【发布时间】:2015-02-26 15:18:43
【问题描述】:
这部分代码出现编译错误"missing return statement"。不知道为什么?我也知道这是一种低效的写法,所以不要太难判断:)
static int handValue(int card1, int card2){
if((card1+card2)>=10)
return 0;
if((card1+card2)<=10)
return card1+card2;
if(card1>=10 && card2<=9 && card2>=1)
return card2;
if(card2>=10 && card1<=9 && card1>=1)
return card1;
}
【问题讨论】:
-
无论如何你都需要返回一个值。所以你可以在最后加上 return -1 。
-
编译器不知道你是否拥有所有的可能性。你必须返回某事。如果没有你的条件是真的。 -1 会很好。
-
@Zhdawson,以下任何一个答案有帮助吗?我注意到你已经问了 3 个问题,都收到了答案,但是 not actually marked any answers as accepted。如果答案对您有帮助,请考虑使用复选标记 accepting the most helpful one。这向更广泛的社区表明这是一个有用的答案,并为回答者和您自己带来了一些声誉。