Bonjour,
J'étudie actuellement dans un cours de java. j'ai écris mon premier programme pour répondre aux exigences de l’énoncé ci-après.
Après relecture de mon programme je ne comprend pas pour il ne fonctionne pas.
Je demande donc votre aide pour m'expliquer pourquoi.
Merci d'avance.
Phil
Enoncé :
Mon code :Saisie et validation des informations
Le programme devra permettre de saisir au clavier les informations suivantes et de les valider suivant les règles définies:
Informations du joueur.
Nom: Une chaine de caractère dont la longueur est comprise entre 3 et 256 caractères.
Prénom: Une chaine de caractère dont la longueur est comprise entre 3 et 256 caractères.
Âge: entier compris entre 10 et 90 inclusivement.
Les informations sur les parties de Sudoku jouées
Pour chaque partie de Sudoku, voici les informations demandées:
Niveau de difficulté (facile, moyen ou difficile)
Partie gagnée ou perdue?
Si gagné : temps de résolution de la grille.
Traitement et affichage des résultats
Le programme devra calculer les statistiques suivantes:
Calculer pour chaque niveau le nombre de parties non terminées, le nombre de parties gagnées, le temps de résolution moyen et le taux de réussite du joueur.
Le temps de résolution moyen constitue la moyenne de temps de résolution des parties gagnées par le joueur.
Le taux de réussite constitue le pourcentage du nombre de parties gagnées par rapport au nombre de parties totales.
Calculer les statistiques globales qui représentent les statistiques de tous les niveaux de jeu.
Tp2.java
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284 package tp2; import java.util.Scanner; public class Tp2 { static Scanner clavier = new Scanner(System.in); //clavier : nom générique pour tout le programme public static void main(String[] args) { // Création des variables pour les informations du joueur et des différents parties int niveau; String nom = ""; String prenom = ""; String age = ""; int partie_facile = 0; // Nombre de parties faciles jouées int partie_moyen = 0; // Nombre de parties moyens jouées int partie_difficile = 0; //Nombre de parties difficiles jouées int partie_facile_terminee = 0; // Nombre de parties faciles gagnées int partie_moyen_terminee = 0; // Nombre de parties moyens gagnées int partie_difficile_terminee = 0; // Nombre de parties difficiles gagnées int temps_facile = 0; // Temps de résolution de la grille facile int temps_moyen = 0; // Temps de résolution de la grille moyen int temps_difficile = 0; // Temps de résolution de la grille difficile // Création de variables pour les statistiques int tmr_facile=temps_facile/partie_facile_terminee; // Temps moyen de résolution au niveau facile int tmr_moyen=temps_moyen/partie_moyen_terminee; // Temps moyen de résolution au niveau moyen int tmr_difficile=temps_difficile/partie_difficile_terminee; // Temps moyen de résolution au niveau difficile int partie_perdue=((partie_facile)+(partie_moyen)+(partie_difficile))-((partie_facile_terminee)+(partie_moyen_terminee)+(partie_difficile_terminee)); // Nombre total de partie perdues int partie_gagnee=((partie_facile_terminee)+(partie_moyen_terminee)+(partie_difficile_terminee)); // Nombre total de parties gagnées int trm_global=((tmr_facile)+(tmr_moyen)+(tmr_difficile))/3; // Temps de résolution moyen global int partie_jouee=((partie_facile)+(partie_moyen)+(partie_difficile)); // Nombre total de parties jouées int taux_global=((100*(partie_facile_terminee)/(partie_facile))+(100*(partie_moyen_terminee)/(partie_moyen))+(100*(partie_difficile_terminee)/(partie_difficile))/3); // Pourcentage de réussite global System.out.println("-------Informations personnelles"); // AFFICHAGE NOM int condition_nom = 0; // variable pour la condition sur la limite du nombre de caractére while (condition_nom == 0) { // tant que la condition n'est pas égale à 1 System.out.print("Nom : "); nom = clavier.nextLine(); if (nom.length()<3) { // si le nom inséré a moins de 3 caractéres System.out.println("Votre nom doit être compris entre 3 et 256 caractères"); condition_nom = 0; // = à 0 tant que la condition n,est pas remplie } else if (nom.length()>256) { // si la variable a plus de 256 caractére System.out.println("Votre nom doit être compris entre 3 et 256 caractères"); condition_nom = 0; // = à 0 tant que la condition n,est pas remplie } else { condition_nom = 1; // condition remplie et sortie de la boucle } } // AFFICHAGE PRÉNOM (mêmes explication que pour l'affichage du nom) int condition_prenom = 0; while (condition_prenom == 0) { System.out.print("Prénom : "); // Afficher : "prénom :" prenom = clavier.nextLine(); if (prenom.length()<3) { System.out.println("Votre prénom doit être compris entre 3 et 256 caractères"); // Si les caractères sont inférieurs à 3, aolrs afficher message condition_prenom = 0; } else if (prenom.length()>256) { System.out.println("Votre prenom doit être compris entre 3 et 256 caractères"); // Si les caractères sont supérieurs à 256, aolrs afficher message condition_prenom = 0; } else { condition_prenom = 1; // Condition réussite } } // AFFICHAGE DE L'ÂGE int condition_age = 0; // création de la variable âge while (condition_age == 0) { // tant que la condition n'est pas égale à 1 System.out.print("Âge : " + age); age = clavier.nextLine(); if (Integer.parseInt(age) <= 10) { // Si le nombre est inférieur ou égale à 10 System.out.println("Votre âge doit être compris entre 10 et 90 ans"); condition_age = 0; // = à 0 tant que la codition n'est pas remplie } else if (Integer.parseInt(age) >=90) { // si le nombre est supérieur à 90 System.out.println("Votre âge doit être compris entre 10 et 90 ans"); condition_age = 0; // = à 0 tant que la codition n'est pas remplie } else { condition_age = 1; // condition remplie et sortie de la boucle } } System.out.println("-------"); System.out.println("");// ligne créée pour un espace, pour faciliter la visibilité System.out.println("");// ligne créée pour un espace, pour faciliter la visibilité // CHOIX DU NIVEAU DE DIFFICULTÉ System.out.println("Veuillez choisir un nineau de jeu"); System.out.println("-------"); System.out.println("Entrer 1 pour le niveau facile"); System.out.println("Entrer 2 pour le niveau moyen"); System.out.println("Entrer 3 pour le niveau difficile"); System.out.println("-------"); niveau = clavier.nextInt(); if(niveau == 1) { // Commande pour valider une partie gagnée ou perdue int choix1; partie_facile++; // Incrémentation de la partie facile System.out.println("Avez-vous gagné la partie?"); System.out.println("Sélectionner 4 pour gagnée"); System.out.println("Sélectionner 5 pour perdue"); choix1 = clavier.nextInt(); switch (choix1) // Choix du "switch" pour créer une boucle { case 4 : partie_facile_terminee++; System.out.print("Temps de résolution de la grille : "); temps_facile = clavier.nextInt(); System.out.print("La grille a été réussite en " + temps_facile + " minutes"); break; case 5 : System.out.println("Vous ferez mieux la prochaine fois"); break; } } if(niveau == 2) { // Commande pour valider une partie gagnée ou perdue int choix2; partie_moyen++; // Incrémentation de la partie moyen System.out.println("Avez-vous gagné la partie?"); System.out.println("Sélectionner 4 pour gagnée"); System.out.println("Sélectionner 5 pour perdue"); choix2 = clavier.nextInt(); switch (choix2) // Choix du "switch" pour créer une boucle { case 4 : partie_moyen_terminee++; // Incrémentation de la partie difficile System.out.print("Temps de résolution de la grille : "); temps_moyen = clavier.nextInt(); System.out.print("La grille a été réussite en " + temps_moyen + " minutes"); break; case 5 : System.out.println("Vous ferez mieux la prochaine fois"); break; } } if(niveau == 3) { // Commande pour valider une partie gagnée ou perdue int choix3; partie_difficile++; // Incrémentation de la partie difficile System.out.println("Avez-vous gagné la partie?"); System.out.println("Sélectionner 4 pour gagnée"); System.out.println("Sélectionner 5 pour perdue"); choix3 = clavier.nextInt(); switch (choix3) // Choix du "switch" pour créer une boucle { case 4 : partie_difficile_terminee++; System.out.print("Temps de résolution de la grille : "); temps_difficile = clavier.nextInt(); System.out.print("La grille a été réussite en " + temps_difficile + " minutes"); break; case 5 : System.out.println("Vous ferez mieux la prochaine fois"); break; } } // AFFICHAGE STATISTIQUES System.out.println("****************************Statistiques Sudoku****************************"); System.out.println(""); System.out.println("-----Informations personnelles"); System.out.println("Nom : "+ nom + "."); System.out.println("Prénom : "+ prenom + "."); System.out.println("Âge : " + age + "ans."); System.out.println(""); //ligne créée pour un espace, pour faciliter la visibilité System.out.println("----------------------------Statistiques détaillées----------------------------"); System.out.println(""); //ligne créée pour un espace, pour faciliter la visibilité System.out.println("-----Statistiques niveau facile"); System.out.println("Nombre de parties non terminées : "+ ((partie_facile)-(partie_facile_terminee))); System.out.println("Nombre de parties gagnées : " + (partie_facile)+ " "+"Temps de résolution moyem : " + (tmr_facile)); System.out.println("Nombre total de partie jouées : " + (partie_facile)); System.out.println("Taux de réussite du joueur : " + 100*(partie_facile_terminee)/(partie_facile) +"%"); System.out.println("-----"); System.out.println(""); //ligne créée pour un espace, pour faciliter la visibilité System.out.println("-----Statistiques niveau moyen"); System.out.println("Nombre de parties non terminées : "+ ((partie_moyen)-(partie_moyen_terminee))); System.out.println("Nombre de parties gagnées : " + (partie_moyen)+ " "+"Temps de résolution moyem : " + (tmr_moyen)); System.out.println("Nombre total de partie jouées : " + (partie_moyen)); System.out.println("Taux de réussite du joueur : " + 100*(partie_moyen_terminee)/(partie_moyen) +"%"); System.out.println("-----"); System.out.println(""); //ligne créée pour un espace, pour faciliter la visibilité System.out.println("-----Statistiques niveau difficile"); System.out.println("Nombre de parties non terminées : "+ ((partie_difficile)-(partie_difficile_terminee))); System.out.println("Nombre de parties gagnées : " + (partie_difficile)+ " "+"Temps de résolution moyem : " + (tmr_difficile)); System.out.println("Nombre total de partie jouées : " + (partie_difficile)); System.out.println("Taux de réussite du joueur : " + 100*(partie_difficile_terminee)/(partie_difficile) +"%"); System.out.println("-----"); System.out.println(""); //ligne créée pour un espace, pour faciliter la visibilité System.out.println("----------------------------Statiatiques globales----------------------------"); System.out.println("Nombre de parties perdues : " + (partie_perdue)); System.out.println("Nombre de parties gagnées : " + (partie_gagnee) + " " + "Temps de résolution moyen : " + (trm_global)); System.out.println("Nomnre total de parties jouées : " + (partie_jouee)); System.out.println("Taux de réussite du joueur : " + (taux_global) +"%"); } }
Partager