java booléen de l'instruction return
Je suis en train de programmer un jeu, et je suis en train de faire des méthodes pour contrôler les différents côtés d'un acteur de terrain. Je suis à l'aide d'un booléen, mais netbeans me dit que je n'ai pas d'instruction return.
public boolean checkTerrainDown(Level levelToCheck){
for(Terrain terrainToCheck: levelToCheck.levelTerrain){
if(y+h<terrainToCheck.getY()){
return true;
}else{
return false;
}
}
}
- Lorsque votre méthode doit retourner quelque chose, vous devez fournir une déclaration pour chaque chemin d'exécution qui peuvent être prises.
- C'est une bonne pratique de n'avoir qu'une seule instruction de retour! en passant , vous n'avez pas à faire une
for
pour ce que vous faites.. vous ne demandez pour le premier élément.. en plus de l'utilisationreturn y+h < terraintoCheck.getY();
- Non, il n'est vraiment pas. C'est une bonne pratique afin de rendre votre code plus clair possible. Parfois, cela signifie un retour de l'instruction, parfois, cela signifie plusieurs.
- vous l'avez droit, c'est un decission que je n'aime pas les multiples renvoie la plupart du temps, je pense que je ne l'utilise plusieurs retours pour le "cas faciles", mais lisible par un code propre est ce que nous avons à point :).
Vous devez vous connecter pour publier un commentaire.
Que faire si il n'y a pas de
Terrain
vérifier? Ensuite, le corps de lafor
boucle n'est jamais exécutée. Vous n'avez pas dereturn
déclaration après lafor
boucle pour tenir compte de ce cas. Que voulez-vous, Java est de retour dans ce cas?Place un
return
déclaration après lafor
boucle pour gérer le cas où il n'y a pasTerrain
dans leLevel
'slevelTerrain
. De cette façon, chaque cas possible de l'exécutionreturn
quelque chose.for
boucle est inutile ici..si le
for loop
n'a pas été exécuté alors il n'y a pas d'instruction return est exécutée.