ahoj jsem začínající začátečník,
a nemůžu přijít na to, kde je chyba. Problém mi dělá proměnná LoLesn. Z nějakého důvodu, jakoby se její hodnota při přechodu k další metodě změnila na nulovou. No a když je nulová tak mi to potom háže chybu, protože LoLesn je dělitelem a ten jak známo nuly být nesmí.
Ned Beans mi u LoLesn ukazuje žárovku a hlášku -local variable hides a field-, což si vykládám jako že v té metodě mám stejné jméno lokální proměnné jako je proměnná instanční/field...nevím, možná trochu matu pojmy, studuju to v češtině i angličtině...Co mě mate je, že u jiných proměnných, které podle mě používám stejně jako LoLesn se mi to nestává.
Řek bych, že potíž je nejspíš v tom, že mi není úplně jasný právě ten rozdíl mezi instanční a lokální proměnnou (ačkoli sem si věřil, že je to jasné).
Budu vděčný za každou radu, případně i za jiné poznámky (třeba něco dělám úplně blbě). Moc děkuju.
Krizové řádky jsou:
315 tam je to dělení, kde se mi LoLesn Objevuje nulová
292 - přetypování LoLesn na integer
Jo, zkoušel jsem debug. LoLesn nabrala na 292 správnou hodnotu z tlačítka, ale pak se někde nevím proč místě zase změnila na nulu.
220 }// </editor-fold>
221 int txtDay;
222 int txtMonth;
223 int txtYear;
224 int resultTrack;
225 int LoLesn;
226 int LPWeekI;
227 String Vysledek;
228 //int weeks;
229 private void ComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
230 String Track = (String)ComboBox1.getSelectedItem( );
231
232 switch(Track)
233 {
234 case "general" :
235 resultTrack=64;
236 break;
237 case "professional":
238 resultTrack=60;
239 break;
240 case "exam":
241 resultTrack=120;
242 break;
243 case "communicative" :
244 resultTrack=20;
245 break;
246
247 }
248 System.out.println(resultTrack);
249 }
250
251 private void LessonsPerWeekActionPerformed(java.awt.event.ActionEvent evt) {
252 String LPWeek = (String)LessonsPerWeek.getSelectedItem( );
253
254 int LPWeekL = Integer.parseInt(LPWeek);
255 LPWeekI=LPWeekL;
256 System.out.println(LPWeekI);
257 // TODO add your handling code here: // TODO add your handling code here:
258 }
259
260 private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
261 // TODO add your handling code here:
262 }
263
264 /*
265 private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
266
267 }
268 */
269 private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
270 // TODO add your handling code here:
271 }
272
273 private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
274 // TODO add your handling code here:
275 }
276
277 private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {
278 // TODO add your handling code here:
279 }
280
281 private void LessonsPerWeek1ActionPerformed(java.awt.event.ActionEvent evt) {
282 // TODO add your handling code here:
283 }
284
285 private void TxtResultActionPerformed(java.awt.event.ActionEvent evt) {
286 // TODO add your handling code here:
287 }
288
289 private void ButtonLoLActionPerformed(java.awt.event.ActionEvent evt) {
290 String Lol = (String)ButtonLoL.getSelectedItem( );
291
292 int LoLesn = Integer.parseInt(Lol);
293
294 System.out.println(LoLesn);
295
296 }
297
298 private void buttonResultActionPerformed(java.awt.event.ActionEvent evt) {
299
300 try
301 {
302 System.out.println(LoLesn);
303 String Day = (String)cbxDay.getSelectedItem( );
304 int iDay = Integer.parseInt(Day);
305 System.out.println(iDay);
306 String Month = (String)cbxMonth.getSelectedItem( );
307 int iMonth = Integer.parseInt(Month);
308 System.out.println(iMonth);
309 String Year = (String)cbxYear.getSelectedItem();
310 int iYear = Integer.parseInt(Year);
311 System.out.println(iYear);
312
313 Calendar c = Calendar.getInstance();
314 c.set(iYear, iMonth, iDay);
315 int Weeks = (resultTrack*45)/(LoLesn*LPWeekI);
316 System.out.println("LoLesn" + LoLesn);
317 System.out.println(Weeks);
318
319
320 int dateUkonceniKurzu = c.get(Calendar.MONTH) + Weeks;
321 System.out.println(dateUkonceniKurzu + c.get(Calendar.DATE) + "-" + c.get(Calendar.YEAR));
322 String sdateUkonceniKurzu = Integer.toString(dateUkonceniKurzu);
323 TxtResult.setText(sdateUkonceniKurzu);
324 }
325 catch (ArithmeticException v){
326 System.out.println("chyba:" + v);
327 }
328 }
329
330