bonjour,je suis encore bloquer depuis ce matin
voici mon programme,il marche bien par contre je dois mettre des variables booleans pour que mes conditions de if soit moins aproximatives ,le soucis c est que de que je cree des variables ex "boolean ouvertureParachute = ht<2500 ;"et ensuite if(ouvertureParachute){ ....je voudrais l inscrire qu'une fois alors que ça s' inscrit à chaque tour de boucle jusqu'a la fin du code.Je ne dois pas chercher encore dans la bonne direction ...
merci de m 'aiguiller un peu..
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.util.Scanner;
 
class Parachutiste {
 
    public static void main(String[] args) {
 
        Scanner clavier = new Scanner(System.in);
 
        double masse = 80.0;
        do {
            System.out.print("masse du parachutiste (>= 40) ? ");
            masse = clavier.nextDouble();
        } while (masse < 40.0);
 
        double h0 = 39000.0;
        do {
            System.out.print("hauteur de depart du parachutiste (>= 250) ? ");
            h0 = clavier.nextDouble();
        } while (h0 < 250.0);
 
        /*******************************************
         * Completez le programme a partir d'ici.
         *******************************************/
        //attributs,déclaration et initialisation
        final double G =9.81;
        double v0 =0.0;
        double t0 = 0.0;
        double vitesse = v0;
        double hauteur=h0;
        double t = t0;
        double accel=G;
        double surface =2.0;
 
        //calcul chute libre
 
        for( t = 0 ;t <=170 ;t++) {
 
        	double s =surface/masse;       
	        double q = Math.exp(-s*(t-t0));        
	        double vt =( G/s)*(1-q)+(v0*q);       
	        double ht = h0-(G/s)*(t-t0)-((v0-(G/s))/s)*(1-q);        
	        double at = G -(s*vt);
 
 
 
 
        	if(vt>=343 && vt<344) {
        		System.out.println("## Felix dépasse la vitesse du son");
        	}
        	if(at>=0.48 && at <0.50) {
        		System.out.println("## Felix a atteind sa vitesse max");
        	}
 
    		if(ht<2500 && ht>2300) {
        		System.out.println("## Felix ouvre son parachute");
        		surface =25;
        		t0=t;
        		v0=vt;
        		h0=ht;
 
    		}
 
        	System.out.printf("%.0f, %.4f, %.4f, %.5f\n",t, ht, vt, at);
 
        	}
 
 
 
 
        /*******************************************
         * Ne rien modifier apres cette ligne.
         *******************************************/
        clavier.close();
    }
}