Et si on remplaçait ton if/else par :
Déjà pas besoin de i, parachuteOuvert sert déjà à savoir que le parachute a déjà été ouvert. Et puis, si lorsque ht>2500 && !parachuteOuvert est faux on passe parachuteOuvert à true, alors il est impossible que ht soit > 2500 en même temps que parachuteOuvert à true, donc inutile de le tester.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 if( ht >2500 ){ if(vt >= 343 ) { if(j ==0) { System.out.println("## Felix dépasse la vitesse du son"); j = 1; } } if( at < 0.50) { if(k==0) { System.out.println("## Felix a atteind sa vitesse max"); k = 1; } } } else{ surface = 25; t0 = t; h0 = ht; v0 = vt; if(iparachuteOuvert) { System.out.println("Felix ouvre son parachute"); parachuteOuvert = true; } }
pour les trucs du genre :
ce serait plus logique d'utiliser un booléen :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(j ==0) { System.out.println("## Felix dépasse la vitesse du son"); j = 1; }
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if( !messageVitesseSon ) { System.out.println("## Felix dépasse la vitesse du son"); messageVitesseSon = true; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if( afficherMessageVitesseSon ) { // avec afficherMessageVitesseSon initialisé à true System.out.println("## Felix dépasse la vitesse du son"); afficherMessageVitesseSon = false; }
Partager