Voici 4 méthodes. Pour chacune il faut expliquer ce qui se passe, sans tester le code (sinon c’est trop facile).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 @Test
public void testCalcul1() {
int i;
i = i++;
System.out.println(i);
}
@Test
public void testCalcul2() {
int i = 0;
i = i++;
System.out.println(i);
}
@Test
public void testCalcul3() {
int i = 1;
i = 1 + i++;
System.out.println(i);
}
@Test
public void testCalcul4() {
int i = 1;
i = 1 + ++i + i++;
System.out.println(i);
}
Déjà le (1) ne compile pas. Ca c’était juste pour l’échauffement. Après si je te dis quoi est faux, ça te donne la solution pour tout.
qu’est ce que j’ai faux ? tout ?
toujours faux lol
le 1/ ne marche pas car il n’y a pas de valeur assignée, mais selon les langage i vaudra peut etre 0.
le 2/ le ++ est fait avant l’instruction donc au moment de l’assignation i vaut 2.
le 3/ pareil mais vu qu’il y a +1…
le 4 le ++ est fait apres quand il est avant le i donc ça fait i = 1 + 1 + 2
Ne trichez pas. Vous n’avez pas le droit de copier le code dans Eclipse pour avoir la solution et ensuite en déduire l’explication.
Il ne faut pas juste trouver la solution (qui n’est pas « ko-1-3-4″ désolé) mais l’expliquer.
Je pense que la plus dure est testCalcul2().
le premier ne marche pas (pas sur), genre erreur
le deuxième « 1 »
le troisieme « 3 »
le quatrieme « 4 »