If/else if
Résolu/Fermé2 réponses
boolean paire = false; for(int l = 1; l < board.length-1; l++) { for(int c = 1; c < board[0].length-1; c++) { if ( l%6==0 && (c%6==1 || c%6==2)) { board[l][c] = '#'; paire = true; } if ( l%3==0 && ((c+1)%6==0 || (c+1)%6==5) && !paire){ board[l][c] = '#'; } paire = false; } }
bloqué par 6 lignes de code, LE REVE TOTAL
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
17 déc. 2016 à 09:50
17 déc. 2016 à 09:50
Bonjour,
Si tu fais un else, il s'applique sur l'ensemble de la condition, pas juste sur la partie l%6 à moins de la décomposer :
Remarque : tu peux aussi faire tout ça en une seule condition :
Si tu fais un else, il s'applique sur l'ensemble de la condition, pas juste sur la partie l%6 à moins de la décomposer :
if (l % 6 == 0) { if (c % 6 == 1 || c % 6 == 2) board[l][c] = '#'; } else if (l % 3 == 0) { if (c % 6 == 4 || c % 6 == 5) board[l][c] = '#'; }
Remarque : tu peux aussi faire tout ça en une seule condition :
if ((l % 6 == 0 && (c % 6 == 1 || c % 6 == 2)) || (l % 6 != 0 && l % 3 == 0 && (c % 6 == 4 || c % 6 == 5))) board[l][c] = '#';
17 déc. 2016 à 01:13
17 déc. 2016 à 09:35
Problème résolu, des fois c'est plus long, mais au moins ça fonctionne !!!