Oui désolé, j'ai toujours le problème, mais quand tu m'as dit de mettre toto, ca a fonctionné...
Alors ca marche avec toto mais c'est pas ce que je veux :mrgreen:
Version imprimable
Oui désolé, j'ai toujours le problème, mais quand tu m'as dit de mettre toto, ca a fonctionné...
Alors ca marche avec toto mais c'est pas ce que je veux :mrgreen:
Tu veux pas nous montrer plus de code ?
a mon avis ya un truc gros comme une maison qui nous manque ... ;)
Le truc gros comme un maison c'est que l'objet est null ^^
Donc les tests ne fonctionne pas ;)
Enfin, c'est ce que j'en déduis, reste à confirmer tout cela pour un bout de code pour en être persuadé :D
Bien sur que si, je veux bien vous montrer ;)
Et j'appelle ma méthode ainsiCode:
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 private String[] TabResult; private String[][] TabHeures; public void Nb_tickets(String[][] TabHeures, String[] TabResult) { //...... if(!"".equals(TabHeures[0][5])) if(!"RTT".equals(TabHeures[0][5])) if(!"JF".equals(TabHeures[0][5])) if(!"RTTS".equals(TabHeures[0][5])) if(!"CP".equals(TabHeures[0][5])) if(!"CC".equals(TabHeures[0][5])) if(!"M".equals(TabHeures[0][5])) if(!"R".equals(TabHeures[0][5])) if(!"H".equals(TabHeures[0][5])) if(!"Del".equals(TabHeures[0][5])) if(!"ABS".equals(TabHeures[0][5])) { s1 = Integer.parseInt(TabHeures[0][5].toString().substring(0,2)); lb11 = Integer.parseInt(TabResult[5].toString().substring(0,1)); lb12 = Integer.parseInt(TabResult[5].toString().substring(2,4)); tp11 = Integer.parseInt(TabHeures[2][5].toString().substring(0,2)); tp12 = Integer.parseInt(TabHeures[2][5].toString().substring(3,5)); } lb_tick.setText(String.valueOf(nb)); }
Moi aussi je pense que c'est gros comme une maison... mais en tout cas ça m'em...bête bien !Code:
1
2 Nb_tickets(TabHeures, TabResult);
Oula ca fait beaucoup de if imbriqués ^^
Personnellement je ferais comme ça :
Code non testé ;)Code:
1
2
3
4
5
6
7
8 String tempo = null; if(TabHeures[0][5] != null){ Tempo = TabHeure[0][5].toString(); if(Tempo.equals(""){ ... } }
je pense que le problème vient de ce que tu ne nous montre pas :mrgreen:
c'est justement la partie initialisation du tableau qui est intéressante je pense ...Code:
1
2
3 public void Nb_tickets(String[][] TabHeures, String[] TabResult) { //......
[EDIT]
juste comme ça ... pourquoi [0][5] et pas [0][1] ou [0][8] ??
ça me parait bizarre comme code. Tu devrais plutot créer une classe que d'utiliser un tableau. Tu te simplifierais grandement (et je pense que le qualificatif est faible) les choses
[EDIT 2]
8O 8O Je me demande bien comment tu vas pouvoir maintenir ton code
a mon avis laisse tomber ce problème de if et revois la conception de ton truc. Tu vas dans le mur autant freiner pendant qu'il est temps et reprendre les choses calmement. On peut t'aider bien sûr. Qu'est ce que tu veux faire exactement ?? (enfin je parle de ta methode Nb_tickets)
:cfou:
Alors je montre tout si vous voulez 8O
Et je vous montre la classe précédente :Code:
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 public void Nb_tickets(String[][] TabHeures, String[] TabResult) { int nb = 0; int l1 = 0; int m1 = 0; int me1 = 0; int j1 = 0; int v1 = 0; int s1 = 0; int d1 = 0; int lb1 = 0; int lb2 = 0; int lb3 = 0; int lb4 = 0; int lb5 = 0; int lb6 = 0; int lb7 = 0; int lb8 = 0; int lb9 = 0; int lb10 = 0; int lb11 = 0; int lb12 = 0; int lb13 = 0; int lb14 = 0; int tp1 = 0; int tp2 = 0; int tp3 = 0; int tp4 = 0; int tp5 = 0; int tp6 = 0; int tp7 = 0; int tp8 = 0; int tp9 = 0; int tp10 = 0; int tp11 = 0; int tp12 = 0; int tp13 = 0; int tp14 = 0; if(!"".equals(TabHeures[0][0])) if(!"RTT".equals(TabHeures[0][0])) if(!"JF".equals(TabHeures[0][0])) if(!"RTTS".equals(TabHeures[0][0])) if(!"CP".equals(TabHeures[0][0])) if(!"CC".equals(TabHeures[0][0])) if(!"M".equals(TabHeures[0][0])) if(!"R".equals(TabHeures[0][0])) if(!"H".equals(TabHeures[0][0])) if(!"Del".equals(TabHeures[0][0])) if(!"ABS".equals(TabHeures[0][0])) { l1 = Integer.parseInt(TabHeures[0][0].toString().substring(0,2)); lb1 = Integer.parseInt(TabResult[0].toString().substring(0,1)); lb2 = Integer.parseInt(TabResult[0].toString().substring(2,4)); tp1 = Integer.parseInt(TabHeures[2][0].toString().substring(0,2)); tp2 = Integer.parseInt(TabHeures[2][0].toString().substring(3,5)); } if(!"".equals(TabHeures[0][1])) if(!"RTT".equals(TabHeures[0][1])) if(!"JF".equals(TabHeures[0][1])) if(!"RTTS".equals(TabHeures[0][1])) if(!"CP".equals(TabHeures[0][1])) if(!"CC".equals(TabHeures[0][1])) if(!"M".equals(TabHeures[0][1])) if(!"R".equals(TabHeures[0][1])) if(!"H".equals(TabHeures[0][1])) if(!"Del".equals(TabHeures[0][1])) if(!"ABS".equals(TabHeures[0][1])) { m1 = Integer.parseInt(TabHeures[0][1].toString().substring(0,2)); lb3 = Integer.parseInt(TabResult[1].toString().substring(0,1)); lb4 = Integer.parseInt(TabResult[1].toString().substring(2,4)); tp3 = Integer.parseInt(TabHeures[2][1].toString().substring(0,2)); tp4 = Integer.parseInt(TabHeures[2][1].toString().substring(3,5)); } if(!"".equals(TabHeures[0][2])) if(!"RTT".equals(TabHeures[0][2])) if(!"JF".equals(TabHeures[0][2])) if(!"RTTS".equals(TabHeures[0][2])) if(!"CP".equals(TabHeures[0][2])) if(!"CC".equals(TabHeures[0][2])) if(!"M".equals(TabHeures[0][2])) if(!"R".equals(TabHeures[0][2])) if(!"H".equals(TabHeures[0][2])) if(!"Del".equals(TabHeures[0][2])) if(!"ABS".equals(TabHeures[0][2])) { me1 = Integer.parseInt(TabHeures[0][2].toString().substring(0,2)); lb5 = Integer.parseInt(TabResult[2].toString().substring(0,1)); lb6 = Integer.parseInt(TabResult[2].toString().substring(2,4)); tp5 = Integer.parseInt(TabHeures[2][2].toString().substring(0,2)); tp6 = Integer.parseInt(TabHeures[2][2].toString().substring(3,5)); } if(!"".equals(TabHeures[0][3])) if(!"RTT".equals(TabHeures[0][3])) if(!"JF".equals(TabHeures[0][3])) if(!"RTTS".equals(TabHeures[0][3])) if(!"CP".equals(TabHeures[0][3])) if(!"CC".equals(TabHeures[0][3])) if(!"M".equals(TabHeures[0][3])) if(!"R".equals(TabHeures[0][3])) if(!"H".equals(TabHeures[0][3])) if(!"Del".equals(TabHeures[0][3])) if(!"ABS".equals(TabHeures[0][3])) { j1 = Integer.parseInt(TabHeures[0][3].toString().substring(0,2)); lb7 = Integer.parseInt(TabResult[3].toString().substring(0,1)); lb8 = Integer.parseInt(TabResult[3].toString().substring(2,4)); tp7 = Integer.parseInt(TabHeures[2][3].toString().substring(0,2)); tp8 = Integer.parseInt(TabHeures[2][3].toString().substring(3,5)); } System.out.println(TabHeures[0][4]==null); if(!"".equals(TabHeures[0][4])) if(!"RTT".equals(TabHeures[0][4])) if(!"JF".equals(TabHeures[0][4])) if(!"RTTS".equals(TabHeures[0][4])) if(!"CP".equals(TabHeures[0][4])) if(!"CC".equals(TabHeures[0][4])) if(!"M".equals(TabHeures[0][4])) if(!"R".equals(TabHeures[0][4])) if(!"H".equals(TabHeures[0][4])) if(!"Del".equals(TabHeures[0][4])) if(!"ABS".equals(TabHeures[0][4])) { v1 = Integer.parseInt(TabHeures[0][4].toString().substring(0,2)); lb9 = Integer.parseInt(TabResult[4].toString().substring(0,1)); lb10 = Integer.parseInt(TabResult[4].toString().substring(2,4)); tp9 = Integer.parseInt(TabHeures[2][4].toString().substring(0,2)); tp10 = Integer.parseInt(TabHeures[2][4].toString().substring(3,5)); } if(!"".equals(TabHeures[0][5])) if(!"RTT".equals(TabHeures[0][5])) if(!"JF".equals(TabHeures[0][5])) if(!"RTTS".equals(TabHeures[0][5])) if(!"CP".equals(TabHeures[0][5])) if(!"CC".equals(TabHeures[0][5])) if(!"M".equals(TabHeures[0][5])) if(!"R".equals(TabHeures[0][5])) if(!"H".equals(TabHeures[0][5])) if(!"Del".equals(TabHeures[0][5])) if(!"ABS".equals(TabHeures[0][5])) { s1 = Integer.parseInt(TabHeures[0][5].toString().substring(0,2)); lb11 = Integer.parseInt(TabResult[5].toString().substring(0,1)); lb12 = Integer.parseInt(TabResult[5].toString().substring(2,4)); tp11 = Integer.parseInt(TabHeures[2][5].toString().substring(0,2)); tp12 = Integer.parseInt(TabHeures[2][5].toString().substring(3,5)); } if(!"".equals(TabHeures[0][6])) if(!"RTT".equals(TabHeures[0][6])) if(!"JF".equals(TabHeures[0][6])) if(!"RTTS".equals(TabHeures[0][6])) if(!"CP".equals(TabHeures[0][6])) if(!"CC".equals(TabHeures[0][6])) if(!"M".equals(TabHeures[0][6])) if(!"R".equals(TabHeures[0][6])) if(!"H".equals(TabHeures[0][6])) if(!"Del".equals(TabHeures[0][6])) if(!"ABS".equals(TabHeures[0][6])) { d1 = Integer.parseInt(TabHeures[0][6].toString().substring(0,2)); lb13 = Integer.parseInt(TabResult[6].toString().substring(0,1)); lb14 = Integer.parseInt(TabResult[6].toString().substring(2,4)); tp13 = Integer.parseInt(TabHeures[2][6].toString().substring(0,2)); tp14 = Integer.parseInt(TabHeures[2][6].toString().substring(3,5)); } if(l1<13) { if(tp1>0 || tp2>=30) { if(lb1>0 || lb2>15) { nb++; } } } if(m1<13) { if(tp3>0 || tp4>=30) { if(lb3>0 || lb4>15) { nb++; } } } if(me1<13) { if(tp5>0 || tp6>=30) { if(lb5>0 || lb6>15) { nb++; } } } if(j1<13) { if(tp7>0 || tp8>=30) { if(lb7>0 || lb8>15) { nb++; } } } if(v1<13) { if(tp9>0 || tp10>=30) { if(lb9>0 || lb10>15) { nb++; } } } if(s1<13) { if(tp11>0 || tp12>=30) { if(lb11>0 || lb12>15) { nb++; } } } if(d1<13) { if(tp13>0 || tp14>=30) { if(lb13>0 || lb14>15) { nb++; } } } lb_tick.setText(String.valueOf(nb)); }
Nikk0, ce que tu me dis peut changer bcp de choses tu crois ?Code:
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 private void recup_infos() { // On récupère le nombre d'employé dans le service selectionné try { Statement St; ResultSet R; St = (Statement) Connexion.Connec.getConnection().createStatement(); String Nom =""; String Prenom =""; R = (ResultSet) St.executeQuery("SELECT Nom_Employe,Prenom_Employe FROM employe WHERE Num_Employe=" + Numéro + ";"); //On stocke le résultat dans le tableau aux indices correspondants while(R.next()) { Nom = R.getString(1); //Stockage du nom Prenom = R.getString(2); //Stockage du prénom } lb_Nrecup.setText(Nom); lb_Precup.setText(Prenom); } catch (SQLException exp) { JOptionPane.showMessageDialog(null, "Erreur dans le calcul du nombre d'employés dans le service !"); } lb_heures.setText(Total); lb_l1.setText(TabHeures[0][0]); lb_l2.setText(TabHeures[1][0]); lb_l3.setText(TabHeures[2][0]); lb_l4.setText(TabResult[0]); lb_ma1.setText(TabHeures[0][1]); lb_ma2.setText(TabHeures[1][1]); lb_ma3.setText(TabHeures[2][1]); lb_ma4.setText(TabResult[1]); lb_me1.setText(TabHeures[0][2]); lb_me2.setText(TabHeures[1][2]); lb_me3.setText(TabHeures[2][2]); lb_me4.setText(TabResult[2]); lb_j1.setText(TabHeures[0][3]); lb_j2.setText(TabHeures[1][3]); lb_j3.setText(TabHeures[2][3]); lb_j4.setText(TabResult[3]); lb_v1.setText(TabHeures[0][4]); lb_v2.setText(TabHeures[1][4]); lb_v3.setText(TabHeures[2][4]); lb_v4.setText(TabResult[4]); lb_s1.setText(TabHeures[0][5]); lb_s2.setText(TabHeures[1][5]); lb_s3.setText(TabHeures[2][5]); lb_s4.setText(TabResult[5]); lb_d1.setText(TabHeures[0][6]); lb_d2.setText(TabHeures[1][6]); lb_d3.setText(TabHeures[2][6]); lb_d4.setText(TabResult[6]); Nb_tickets(TabHeures, TabResult); }
euh, je sais pas pourquoi mais moi j'aime bien mettre des {} au début et à la fin de chaque if que je fais .. ca me permet de bien m'y retrouver, parce que là tu imbriques pas mal de if à la suite.. je saurais pas dire si le problème pourrait venir de là mais bon :mouarf:
Je pense pas que ca puisse changer beaucoup de chose, c'est une façon différente de faire, mais la je teste bien si TabHeures[0][5] est null ou non.Citation:
Nikk0, ce que tu me dis peut changer bcp de choses tu crois ?
Je suis conscient que mon code n'est pas terrible, ca fait un mois que je code en Java alors je ne maîtrise pas tout...
Je veux calculer le nombre de tickets restaurants en fonction des horraires...
heure arrivée, heure de départ, temps de pause, et temps total travaillé par jour.
Cette classe fait le calcul et permet d'afficher le tout dans un panel.
Posez-moi des questions si vous voulez plus de renseignements, comme ça, je ne sais pas quoi dire de plus
Je pense qu'il faut que tu réussisses à créer une classe (voir plusieurs). Pour au final pouvoir faire des choses simples. Actuellement, le moindre changement dans ce qu'on te demande de faire va être très chiant à effectuer et à tester.
Sans parler de code pour le moment, il faut définir les aspects "metiers" du problème.
TabHeures c'est quoi ? un calendrier ? Le tableau des heures d'une personne ?
Comment est-il renseigné ? Il représente 1 semaine, 1 mois, ... ?
Si c'est le tableau des heures de qqun ... comment définirais tu simplement ce tableau ? Par ex : un ensemble de dates avec un nombre d'heures associées. Ce nombre d'heure dépend du type de journée (RTT, JF ...)
Disons que tu fasses une classe Jour. Tu pourrais ensuite faire une classe Semaine ou Mois très simplement ...
Bref, pense à ça ce soir. Pose ça sur papier demain. Ne garde que l'essentiel et décrit le "métier" de la manière la plus simple possible (mais complète en même temps). Une fois que t'as une illumination, ouvre un autre post sur le forum, pas besoin de polluer celui-ci, en expliquant clairement ce que tu veux faire, a fait, et où tu bloques.
Une fois que tu auras fais cette (ou ces) classe(s) tu pourras facilement calculer tes tickets restau sans avoir une méthode inutilisable. D'ailleurs tu pourras plus facilement ajouter de nouvelles fonctionnalités ...
Bref, bon courage. Je suppose que t'es en stage. Alors profites en pour bien faire les choses. Pas la peine de coder direct ;)