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:
Mais il se trouve que ceci marche tout aussi bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Ducoup j'ai du mal a comprendre dans quel cas "else if" apporte quelque chose de different qu'un simple "if" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Partager