Eviter les "break;" en codage [Résolu]

youdssef 107 Messages postés mercredi 24 décembre 2008Date d'inscription 21 avril 2012 Dernière intervention - 20 janv. 2012 à 20:01 - Dernière réponse : cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention
- 23 janv. 2012 à 07:41
Bonjour ,

je vais essayer de vous expliquer mon soucis qui concerne le code d une classe dont le contenu est sans erreurs et fonctionne parfaitement , sauf que Mr le proff indique comme quoi il n'est pas du tout un fun des "break";
et franchement j'arive pas a trouver une alternative aces break;
prière de m'aider ;le code en question:



private boolean diagonal2(int spalte, int zeile, char zeichen) {

int aktuelle_zeile = zeile - 1;
int aktuelle_spalte = spalte + 1;
int i = 1;
while (aktuelle_zeile >= 0 && aktuelle_spalte < spalten) {
if (spielfeld[aktuelle_zeile][aktuelle_spalte] != zeichen)
break;
aktuelle_zeile--;
aktuelle_spalte++;
i++;
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 23 janv. 2012 à 07:41
3
Merci
Je dirais que ce n'est pas extra, en général, on préfère mettre le return à la fin de la fonction et pas en plein milieu :

while (aktuelle_zeile >= 0 && spielfeld[aktuelle_zeile][spalte] != zeichen) {
   aktuelle_zeile--;
   i++;
}
return aktuelle_zeile==0

Merci cs_Julien39 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 21 janv. 2012 à 07:17
0
Merci
Bonjour,


C'est tout simple :

private boolean diagonal2(int spalte, int zeile, char zeichen) { 
   int aktuelle_zeile = zeile - 1; 
   int aktuelle_spalte = spalte + 1; 
   int i = 1; 
   while (aktuelle_zeile >= 0 && aktuelle_spalte < spalten && spielfeld[aktuelle_zeile][aktuelle_spalte] != zeichen) {
      aktuelle_zeile--; 
      aktuelle_spalte++; 
      i++;
Commenter la réponse de cs_Julien39
youdssef 107 Messages postés mercredi 24 décembre 2008Date d'inscription 21 avril 2012 Dernière intervention - 22 janv. 2012 à 03:32
0
Merci
Bonjour ,
merci avant tout pour ta reponse"julien39" , mais ca n a pas marché:S:S
Commenter la réponse de youdssef
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 22 janv. 2012 à 12:50
0
Merci
Comment ca ? Tu as une exception ou le traitement ne fais pas ce que tu veux.

Le principe est le suivant, pour arrêter ta boucle, il faut que la condition dans le while ne soit plus vérifiée. Ce n'est pas ce que j'ai fais sur ton code ?
Commenter la réponse de cs_Julien39
youdssef 107 Messages postés mercredi 24 décembre 2008Date d'inscription 21 avril 2012 Dernière intervention - 23 janv. 2012 à 00:08
0
Merci
""julien39"" merci infiniment encore a nouveau , j ai pu le faire et le suivan sera le code convenant :



while (aktuelle_zeile >= 0) {
if (spielfeld[aktuelle_zeile][spalte] != zeichen){
return false;
} else {
aktuelle_zeile--;
i++;
}
}
Commenter la réponse de youdssef

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.