PDA

Visualizza la versione completa : [JAVA] Uscita da funzione


var
31-10-2005, 23:19
salve a tutti,

ho questo codice:



private void nomeMetodo(){
...
String inputIndice;
..
do{
inputIndice=JOptionPane.showInputDialog(...);
if(inputIndice==null) return; // come mai non mi esce da nomeMetodo?
} while(!Utilita.testaStringa("^\\d+$", inputIndice));
qualcheMetodo(inputIndice); // riga n
...
} // di nomeMetodo


bene, come mai, anche se utilizzo return, arrivo comunque a riga n, generando un'eccezione?

grazie. :)

Brainjar
31-10-2005, 23:38
Perchč hai dichiarato inputIndice come String.
Per poter funzionare devi utilizzare il metodo equals.


private void nomeMetodo(){
...
String inputIndice;
..
do{
inputIndice=JOptionPane.showInputDialog(...);

// Utilizza una delle due .... o entrambe
if(inputIndice.equals(null)) return; // esce
if(inputIndice.equals("")) return; // esce

// con == NON ESCE
// if(inputIndice==null) return; // come mai non mi esce da nomeMetodo?
} while(!Utilita.testaStringa("^\\d+$", inputIndice));
qualcheMetodo(inputIndice); // riga n
...
} // di nomeMetodo



Ciao,
Brainjar. :ciauz:

var
01-11-2005, 00:02
grazie per la tua risposta. :)
allora, con


if(inputIndice.equals("")) return;

ottengo lo stesso effetto di prima.

con


if(inputIndice.equals(null)) return;

ottengo una NullPointerException proprio su tale riga.

inputIndice e' una stringa perche' showInputDialog ritorna una stringa.

Brainjar
01-11-2005, 00:18
In effetti 'return' dovrebbe farti uscira dal metodo. Se non
ti funziona prova a dichiarare




private int nomeMetodo()
String inputIndice;
..
do{
inputIndice=JOptionPane.showInputDialog(...);

// Utilizza una delle due .... o entrambe
if(inputIndice.equals(null)) return 0; // esce
if(inputIndice.equals("")) return 0; // esce

// con == NON ESCE
// if(inputIndice==null) return; // come mai non mi esce da nomeMetodo?
} while(!Utilita.testaStringa("^\\d+$", inputIndice));
qualcheMetodo(inputIndice); // riga n
...
} // di nomeMetodo



Non ho elementi per darti una risposta pił completa.

Ciao,
Brainjar. :ciauz:

var
01-11-2005, 00:25
Originariamente inviato da Brainjar
In effetti 'return' dovrebbe farti uscira dal metodo. Se non
ti funziona prova a dichiarare

provo a dichiarare cosa? :|
grazie. :)

ah, ho capito.
il problema e' che sto implementando actionEvent di ActionListener che, come si sa, non ritorna nulla.

Loading