C'est moi ou "else if" ne sert a rien ?
Salut, ici on cherche simplement a retourner celui de a ou b qui est le plus proche de 10, en cas d'egalité on retourne 0.
J'ai donc taper ça qui marche impec:
Code:
1 2 3 4 5 6 7 8 9 10 11
| public int close10(int a, int b) {
int difA = Math.abs(10-a);
int difB = Math.abs(10-b);
if (difA < difB)
return a;
else if (difB < difA)
return b;
else
return 0;
} |
Mais il se trouve que ceci marche tout aussi bien:
Code:
1 2 3 4 5 6 7 8 9 10 11
| public int close10(int a, int b) {
int difA = Math.abs(10-a);
int difB = Math.abs(10-b);
if (difA < difB)
return a;
if (difB < difA) // la seule différence est sur cette ligne 7. Le "else if" est maintenant un simple if.
return b;
else
return 0;
} |
Ducoup j'ai du mal a comprendre dans quel cas "else if" apporte quelque chose de different qu'un simple "if" ?