Bonjour! Je suis débutant, donc je ne comprend pas encore tout ce que je fait, j'ai peut-être fait une erreur vraiment simple, ou peut-être que ce que je veux faire n'est juste pas possible...
J'ai d'abord une classe "Cours" dans laquel je créer les résultats scolaires d'un élève pour un cours X, j'ai donc, dans mon constructeur: Nom, Note 1, Note 2, Note 3 et Niveau de difficulté du cours (qui est dans une class Enum à part).
À la fin j'ai une méthode "getSucces()" que je vais devoir utiliser dans une autre classe, par contre, je dois le laisser public et non-static (obligation du professeur..).
Classe "Cours.java"Dans une deuxième classe, j'ai créer un Étudiant (avec Nom, Prenom, Date de Naissance, Sexe, et Cours(qui fait référence à la classe précédente)).
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 package cours; public class Cours { public final static float PONDERATION_1 = 0.3f; public final static float PONDERATION_2 = 0.45f; public final static float PONDERATION_3 = 0.25f; public final static float POURCENTAGE_DE_PASSAGE = 0.6f; public final static Niveau NIVEAU_DEFAUT = Niveau.BONBON; public final static String NOM_COURS_DEFAUT = "Un cours bonbon"; public final static int NOTE_DEFAUT = 0; public final static int NOTE_MIN = 0; public final static int NOTE_MAX = 100; private String nom = null; private int note1 = 0; private int note2 = 0; private int note3 = 0; private Niveau niveau = null; public Cours() { nom = NOM_COURS_DEFAUT; niveau = NIVEAU_DEFAUT; note1 = NOTE_DEFAUT; note2 = NOTE_DEFAUT; note3 = NOTE_DEFAUT; } public Cours(String pNom, int pNote1, int pNote2, int pNote3, Niveau pNiveau) { if (validerNom(pNom) && validerNote(pNote1) && validerNote(pNote2) && validerNote(pNote3) && validerNiveau(pNiveau)) { setNom(pNom); setNote1(pNote1); setNote2(pNote2); setNote3(pNote3); setNiveau(pNiveau); } else { setNom(NOM_COURS_DEFAUT); setNote1(NOTE_DEFAUT); setNote2(NOTE_DEFAUT); setNote3(NOTE_DEFAUT); setNiveau(NIVEAU_DEFAUT); } } public String getNom() { return nom; } public void setNom(String pNom) { if (validerNom(pNom)) { this.nom = pNom; } } public static boolean validerNom(String pNom) { return ((pNom != null) && (pNom != "")); } public double getNote1() { return note1; } public void setNote1(int pNote1) { if (validerNote(pNote1)) { this.note1 = pNote1; } } public double getNote2() { return note2; } public void setNote2(int pNote2) { if (validerNote(pNote2)) { this.note2 = pNote2; } } public double getNote3() { return note3; } public void setNote3(int pNote3) { if (validerNote(pNote3)) { this.note3 = pNote3; } } public static boolean validerNote(int pNote) { return ((pNote >= NOTE_MIN) && (pNote <= NOTE_MAX)); } public Niveau getNiveau() { return niveau; } public void setNiveau(Niveau pNiveau) { if (validerNiveau(pNiveau)) { this.niveau = pNiveau; } } public static boolean validerNiveau(Niveau pNiveau) { return (pNiveau != null); } public double getNoteFinale() { return note1 * PONDERATION_1 + note2 * PONDERATION_2 + note3 * PONDERATION_3; } public boolean getSucces() { if (getNoteFinale() <= POURCENTAGE_DE_PASSAGE) { return false; } else { return true; } } public String toString() { return "le cours \"" + getNom() + "\" de niveau \"" + getNiveau() + "\", les notes sont (" + getNote1() + ", " + getNote2() + ", " + getNote3() + ") et la note finale est de " + getNoteFinale() + "%"; } }
Le "toString()" final affiche un message qui dépend du sexe et de si l'Étudiant à passé ou pas son cours. C'est dans ma classe "Cours" que je créer ma méthode "getSucces", mais j'ai besoin de l'utiliser dans un "if" de ma méthode "toString" de ma classe "Étudiant", mais ça ne marche pas..
Ma classe "Etudiant.java":Comment faire? Merci!
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 package etudiant; import cours.Cours; import java.util.Calendar; public class Etudiant { public final static String NOM_DEFAUT = "Unnom"; public final static String PRENOM_DEFAUT = "Unprenom"; public final static Sexe SEXE_DEFAUT = Sexe.MASCULIN; public final Cours COURS_DEFAUT = new Cours(); public final static short JOUR_DEFAUT = 1; public final static short MOIS_DEFAUT = 1; public final static short MOIS_MIN = 1; public final static short MOIS_MAX = 12; public final static short ANNEE_DEFAUT = 1999; public final static short ANNEE_MIN = 1900; private String nom = null; private String prenom = null; private short jourDeN = 0; private short moisDeN = 0; private short anneeDeN = 0; private Sexe sexe; private Cours cours = null; public Etudiant() { nom = NOM_DEFAUT; prenom = PRENOM_DEFAUT; jourDeN = JOUR_DEFAUT; moisDeN = MOIS_DEFAUT; anneeDeN = ANNEE_DEFAUT; sexe = SEXE_DEFAUT; cours = COURS_DEFAUT; } public Etudiant(String pNom, String pPrenom, Sexe pSexe, short pJour, short pMois, short pAnnee, Cours pCours) { if (validerPrenom(pPrenom) && validerNom(pNom) && validerDateDeN(pAnnee, pMois, pJour) && validerSexe(pSexe) && validerCours(pCours)) { setNom(pNom); setPrenom(pPrenom); setDateDeN(pJour, pMois, pAnnee); setSexe(pSexe); setCours(pCours); } else { setNom(NOM_DEFAUT); setPrenom(PRENOM_DEFAUT); setDateDeN(JOUR_DEFAUT, MOIS_DEFAUT, ANNEE_DEFAUT); setSexe(SEXE_DEFAUT); setCours(COURS_DEFAUT); } } public String getNom() { return nom; } public void setNom(String pNom) { if (validerNom(pNom)) { this.nom = pNom; } } public static boolean validerPrenom(String pPrenom) { return !(pPrenom == null || pPrenom == ""); } public String getPrenom() { return prenom; } public void setPrenom(String pPrenom) { if (validerPrenom(pPrenom)) { this.prenom = pPrenom; } } public static boolean validerNom(String pNom) { return !(pNom == null || pNom == ""); } public void setJourDeN(short pJour) { this.jourDeN = pJour; } public void setDateDeN(short pJour, short pMois, short pAnnee) { if (validerDateDeN(pAnnee, pMois, pJour)) { this.anneeDeN = pAnnee; this.moisDeN = pMois; this.jourDeN = pJour; } } public static boolean validerDateDeN(short pAnnee, short pMois, short pJour) { Calendar dateCourante = Calendar.getInstance(); int annee = dateCourante.get(Calendar.YEAR); if (pAnnee >= ANNEE_MIN && pAnnee <= annee) { if (pMois >= MOIS_MIN && pMois <= MOIS_MAX) { if (pMois == 1 || pMois == 3 || pMois == 5 || pMois == 6 || pMois == 8 || pMois == 10 || pMois == 12) { if (pJour >= 0 && pJour <= 31) { return true; } else return false; } else if (pMois == 4 || pMois == 7 || pMois == 9 || pMois == 11) { if (pJour >= 0 && pJour <= 30) { return true; } else return false; } else if (pMois == 2 && pAnnee % 4 == 0) { if (pJour >= 0 && pJour <= 29) { return true; } else return false; } else if (pMois == 2 && pAnnee % 4 != 0) { if (pJour >= 0 && pJour <= 28) { return true; } else return false; } else return false; } else return false; } else return false; } public short getAnneeDeN() { return anneeDeN; } public short getMoisDeN() { return moisDeN; } public short getJourDeN() { return jourDeN; } public Sexe getSexe() { return sexe; } public void setSexe(Sexe pSexe) { if (validerSexe(pSexe)) { this.sexe = pSexe; } } public static boolean validerSexe(Sexe pSexe) { return (pSexe != null); } public Cours getCours() { return cours; } public void setCours(Cours pCours) { if (validerCours(pCours)) { this.cours = pCours; } } public static boolean validerCours(Cours pCours) { return (pCours != null); } public String toStringDate() { String moisTexte = ""; switch (moisDeN) { case 1: moisTexte = "janvier"; break; case 2: moisTexte = "fevrier"; break; case 3: moisTexte = "mars"; break; case 4: moisTexte = "avril"; break; case 5: moisTexte = "mai"; break; case 6: moisTexte = "juin"; break; case 7: moisTexte = "juillet"; break; case 8: moisTexte = "aout"; break; case 9: moisTexte = "septembre"; break; case 10: moisTexte = "octobre"; break; case 11: moisTexte = "novembre"; break; case 12: moisTexte = "decembre"; break; default: moisTexte = "Invalide"; break; } return moisTexte; } public short getAge() { int age = 0; Calendar dateCourante = Calendar.getInstance(); int annee = dateCourante.get(Calendar.YEAR); int mois = (dateCourante.get(Calendar.MONTH) + 1); int jour = dateCourante.get(Calendar.DAY_OF_MONTH); age = annee - getAnneeDeN(); if (mois < getMoisDeN()) { age = age - 1; } else if (mois == getMoisDeN() && jour < getJourDeN()) { age = age - 1; } return (short) age; } public String toString() { if(Cours.getSucces()) { if (getSexe() == Sexe.MASCULIN) { return getPrenom() + " " + getNom() + ", est né le " + getJourDeN() + " " + toStringDate() + " " + getAnneeDeN() + " et il a échoué " + getCours(); } else { return getPrenom() + " " + getNom() + ", est née le " + getJourDeN() + " " + toStringDate() + " " + getAnneeDeN() + " et elle a échoué " + getCours(); } } else { if (getSexe() == Sexe.MASCULIN) { return getPrenom() + " " + getNom() + ", est né le " + getJourDeN() + " " + toStringDate() + " " + getAnneeDeN() + " et il a réussi " + getCours(); } else { return getPrenom() + " " + getNom() + ", est née le " + getJourDeN() + " " + toStringDate() + " " + getAnneeDeN() + " et elle a réussi " + getCours(); } } } }![]()
Partager