我正在尝试编写一个游戏,我正在制作方法来检查玩家的不同侧面的地形。我正在使用布尔方法,但netbeans告诉我我没有返回语句。
public boolean checkTerrainDown(Level levelToCheck){
for(Terrain terrainToCheck: levelToCheck.levelTerrain){
if(y+h<terrainToCheck.getY()){
return true;
}else{
return false;
}
}
}
答案 0 :(得分:6)
如果没有Terrain
可以检查怎么办?然后for
循环的主体永远不会被执行。在return
循环之后,您没有for
语句来说明此情况。在这种情况下,你会有什么Java返回?
在return
循环后放置for
语句,以处理Terrain
Level
中没有levelTerrain
的情况。这样,每个可能的执行情况都会return
。
答案 1 :(得分:1)
如果for loop
没有执行,那么就不会执行return语句。
答案 2 :(得分:1)
public boolean checkTerrainDown(Level levelToCheck){
//add this line
boolean mark = false;
for(Terrain terrainToCheck: levelToCheck.levelTerrain){
if(y+h<terrainToCheck.getY()){
//add this line,remove this //return true;
mark = true;
//add this line
break;
}
//else{
//return false;
//}
}
//add this line
return mark;
}