仅含一条return语句的方法为何提示不可达代码?
问题原因分析
你的return语句被标记为不可达,核心问题出在for循环的条件判断上:
for(int x = 0; 0 < 5; x++)
这里的循环条件0 < 5是恒成立的布尔表达式(0永远小于5),意味着这个for循环会无限执行下去,永远不会退出循环体,自然也就永远到不了循环之后的return语句,所以编译器会提示该return语句不可达。
修复方案
你需要把循环条件改成符合逻辑的终止条件,比如你原本可能想遍历x从0到4(代码中后续有x < 4的判断),应将循环条件改为:
for(int x = 0; x < 5; x++)
这样循环会在x等于5时终止,之后就能正常执行到return语句了。
另外,代码里还有一处冗余判断可以优化:
if (aiCardFrames[x - 1] != null && aiCardFrames[x - 1] != null)
两次重复判断同一个条件,可简化为:
if (aiCardFrames[x - 1] != null)
内容的提问来源于stack exchange,提问作者Absinthe
相关产品推荐
相关产品推荐

