Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA] error: day cannot be resolved

    Ciao a tutti!!
    Ho un problema in una classe che implementa ActionListener, posto il codice e vi spiego:
    codice:
        //"Controllo data":
        class Receiver2 implements ActionListener {
    	public void actionPerformed(ActionEvent e) {
    
    //prelevo le stringhe immesse nei campi di input:
    	String SGiorno = ggStart.getText ();
    	String SMese = mmStart.getText ();
    	String SAnno = yyStart.getText ();
    
    	 try {
    //Dichiarazione day, month, year:
    	int day = Integer.parseInt(SGiorno);
    	int month = Integer.parseInt(SMese);
    	int year = Integer.parseInt(SAnno);
    
            GregorianCalendar cal = new GregorianCalendar (year, month-1, day);
            cal.setLenient (false);
    
    	int num = cal.get(Calendar.DAY_OF_WEEK);
    	String par = null;
    
    	switch (num) {
    	case 1:par = "Domenica";
    	break;
    
    	case 2:par = "Lunedì";
    	break;
    
    	case 3:par = "Martedì";
    	break;
    
    	case 4:par = "Mercoledì";
    	break;
    
    	case 5:par = "Giovedì";
    	break;
    
    	case 6:par = "Venerdì";
    	break;
    
    	case 7:par = "Sabato";
    	break;
    
    	default:par = "Impossibile reperire il giorno";
    	break;
    		}
    
    	cal.get (Calendar.DATE);
    	      testoOutput.setText(par + ", " + day +"/"+ month +"/"+ year + ": data corretta.");
    
    	} catch (NumberFormatException n) {
    		testoOutput.setText("Inserire una data corretta: " +n);
    
    		} catch (IllegalArgumentException i) {
    		      testoOutput.setText(day +"/"+ month +"/"+ year + ": data errata. \nInserire una data corretta: " +i);
    		}
          }
        }
    Questo codice va in errore in compilazione, precisamente il compilatore dice:

    codice:
    Calendar3.java:216: error: day cannot be resolved
    	testoOutput.setText(day +"/"+ month +"/"+ year + ": data errata. \nInserire una data corretta: " +i);
    	                    ^^^
    Calendar3.java:216: error: month cannot be resolved
    	testoOutput.setText(day +"/"+ month +"/"+ year + ": data errata. \nInserire una data corretta: " +i);
    	                              ^^^^^
    Calendar3.java:216: error: year cannot be resolved
    	testoOutput.setText(day +"/"+ month +"/"+ year + ": data errata. \nInserire una data corretta: " +i);
    	                                          ^^^^
    ma non capisco perchè vada in errore...
    Gato

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] error: day cannot be resolved

    Originariamente inviato da fpertegato
    ma non capisco perchè vada in errore...
    day/month/year sono dichiarate nel "corpo" del try .... e pertanto non sono visibili nel corpo del catch (anche perché entrati nel catch non "esistono" proprio più).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ah, ora ho capito, quindi mi basta dichiararle all'esterno del corpo try giusto?
    Gato

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fpertegato
    Ah, ora ho capito, quindi mi basta dichiararle all'esterno del corpo try giusto?
    Sì.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ok, grazie mille andbin!!!!
    Ora funziona!
    Gato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.