Bonjour,
Je suis inscrit à un MOOC (Initiation à la programmation Java).
Voici le le résultat escompté pour l'exercice :
Population en 2068 : 13.873 ; taux de croissance : 1.2%
Population en 2069 : 14.040 ; taux de croissance : 0.6%
Population en 2070 : 14.124 ; taux de croissance : 0.6%
Population en 2195 : 29.018 ; taux de croissance : 0.3%
— la population double en 2069 où elle passe de 7 à 14 milliards ;
— qu’elle doit aussi doubler en 2185 où elle passe de 14 à 28 milliards.
Le codeQuelqu'un saurait-il me guider un peu pour finaliser ce programme ?
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
76
77 import java.util.Scanner; import java.text.DecimalFormat; public class Population { public static void main(String[] args) { DecimalFormat df = new DecimalFormat("#0.000"); Scanner keyb = new Scanner(System.in); int anneeInitiale = 2011; // annee initiale double tauxCroissance = 1.2; // taux de croissance, en % double populationInitiale = 7.0; // population initiale, en milliard d'humains double populationCourante = populationInitiale; // population mondiale pour l'annee courante int anneeCourante = anneeInitiale; // annee de calcul System.out.println("====---- PARTIE 1 ----===="); System.out.println("Population en " + anneeCourante + " : " + df.format(populationCourante)); /******************************************* * Completez le programme a partir d'ici. *******************************************/ // ===== PARTIE 1 ===== int anneeFinale; do{ System.out.print("Quelle année (> " + anneeInitiale + ") ? "); anneeFinale=keyb.nextInt(); } while(anneeInitiale>=anneeFinale); System.out.println("Population en "+anneeFinale+": "+df.format((populationInitiale*Math.exp((anneeFinale-anneeInitiale)*tauxCroissance/100)))); // ===== PARTIE 2 ===== System.out.println("\n====---- PARTIE 2 ----===="); double populationCible; do{ System.out.print("Combien de milliards (> 7.0) ? "); populationCible=keyb.nextDouble(); }while(populationCible<=populationInitiale); while(populationCible>=populationCourante){ populationCourante=populationCourante*Math.exp(tauxCroissance/100); System.out.println("Population en "+(anneeCourante+1)+ " : "+df.format(populationCourante)); anneeCourante+=1; }; // ===== PARTIE 3 ===== System.out.println("\n====---- PARTIE 3 ----===="); anneeCourante=anneeInitiale+1; populationCourante=populationInitiale; double cible=populationInitiale; while(populationCible>=populationCourante){ populationCourante=populationCourante*Math.exp(tauxCroissance/100); System.out.println("Population en "+ anneeCourante + " : "+df.format(populationCourante)+" ; taux de croissance : "+tauxCroissance+"%"); anneeCourante+=1; if((int)(populationCourante*100)/100 ==(int)(cible*2.0*100)/100){ tauxCroissance=tauxCroissance/2; cible=populationCourante;} } /******************************************* * Ne rien modifier apres cette ligne. *******************************************/ } }
Merci d'avance pour votre aide.
Partager