Pagina 1 di 1

Problemi con variabili java

MessaggioInviato: sab mag 18, 2013 9:06 pm
da gigicookie
Ho un problema con questo codice java:
Codice: Seleziona tutto
class checker {
        public static int[] checkDay(String user) throws IOException{
                String oggi = DataCorrente.getDate();
                String[] lista = LeggiFile.leggiFile("dbutenti");
                List<String> utenti = Arrays.asList(lista);
                ListIterator itr = utenti.listIterator();
                int i = 0;
                while(itr.hasNext()) {
                        i = i + 1;
                        if(lista[i].equalsIgnoreCase(user)) {
                                int userPosition = i;
                                int exitState = 1;
                                int[] rs = new int[] {exitState,userPosition};
                        }       
                    else {
                        int exitState = 0;
                        int userPosition = 0;
                        int[] rs = new int[] {exitState,userPosition};
                    }
                }
        }
}

In pratica dovrei fare in modo che dopo aver controllato se il parametro user passato alla funzione è presente nella lista che viene letta da un file, la funzione ritorni un int[] con i due numeri, exitState (che indica se è presente o no) e userPosition (indica il numero dell' elemento corrispondente a user nella lista) per poi essere usato da un' altra funzione. Il problema è che al di fuori della parte di codice eseguita da if la variabile perde il suo valore. Come posso risolvere?

Re: Problemi con variabili java

MessaggioInviato: dom mag 19, 2013 12:23 am
da M@ttia
Questo succede perché (in ogni linguaggio, non solo Java), la variabile la dichiari (=crei) dentro un blocco definito dalle parentesi { ... }, e pertanto appena chiuse le parentesi tutto quello creato lì dentro viene distrutto (sono variabili locali per quel blocco).

Nel tuo caso ti basta dichiararle FUORI, e poi dentro non dichiararle più, ma cambiarne solo il valore (in pratica esattamente come fai per INT I = 0, che dichiari fuori e poi dentro aggiorni man mano...) [^]

Re: Problemi con variabili java

MessaggioInviato: dom mag 19, 2013 8:31 am
da gigicookie
[grazie]