Gracias por tu valiosa ayuda LEYER!
hasta ahorita voy muy bien con este ejercicio que ando haciendo, pero siempre he tenido una duda:
"Como puedo regresar al menu (inicio del programa, clase main) si en el cuadro del JOptionPane.showInputDialog el usuario le da click en CANCELAR?"
Ejemplo corto para explicarme:
Tambien estudie Visual Basic y ahi es facil porque en cada boton le doy doble click y edito la propiedad del boton, si es cancelar -segun el caso- regresa al menu anterior o no guarda los datos, etc.
Pero aqui en java cuando la persona seleccion la opcion 1 del case 1, aparece el cuadro de InputDialog de JOption, pero la persona se equivoca y da en cancelar, el programa no regresa al menu principal (switch) y muestra el siguiente error:
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at pruebas.leer(pruebas.java:37)
at pruebas.main(pruebas.java:20)
Process completed.
Como puedo hacer que en cancelar o cerrar regrese al menu del switch o clase principal?? Como funciona el return se puede usar?? He leido algo sobre etiquetas, pero como funciona? se puede regresar de un metodo a una etiqueta en la clase main? o como puedo hacer que regresa al menu si dan en cancelar?
hasta ahorita voy muy bien con este ejercicio que ando haciendo, pero siempre he tenido una duda:
"Como puedo regresar al menu (inicio del programa, clase main) si en el cuadro del JOptionPane.showInputDialog el usuario le da click en CANCELAR?"
Ejemplo corto para explicarme:
Código (java) [Seleccionar]
import javax.swing.JOptionPane;
public class pruebas {
public static void main(String arg[]) {
int cadena[] = new int[5];
int opcion;
do
{
opcion=Integer.parseInt(JOptionPane.showInputDialog(null, "Selecciona tu opcion: \n" +
"1) Cadena. \n" +
"2) Salir."));
switch(opcion) {
case 1: pruebas.leer(cadena);
break;
case 2: JOptionPane.showMessageDialog(null, "Adios");
break;
default: JOptionPane.showMessageDialog(null, "Incorrecto");
break;
}
}while(opcion!=2);
}
public static void leer(int cadena[]) {
String mostrar="";
for(int posicion=0;posicion<cadena.length;posicion++) {
// AQUI ES MI DUDA, si la persona se equivoco de opcion y le da en cancelar o en cerrar para SEGUN regresar el menu, el programa se cierra y da un error:
/*
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at pruebas.leer(pruebas.java:37)
at pruebas.main(pruebas.java:20)
Process completed.
*/
cadena[posicion] = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa 5 valores: \n"));
mostrar=mostrar+cadena[posicion]+"\n";
}
JOptionPane.showMessageDialog(null, "Los valores introducidos fueron: \n" + mostrar);
}
}
Tambien estudie Visual Basic y ahi es facil porque en cada boton le doy doble click y edito la propiedad del boton, si es cancelar -segun el caso- regresa al menu anterior o no guarda los datos, etc.
Pero aqui en java cuando la persona seleccion la opcion 1 del case 1, aparece el cuadro de InputDialog de JOption, pero la persona se equivoca y da en cancelar, el programa no regresa al menu principal (switch) y muestra el siguiente error:
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at pruebas.leer(pruebas.java:37)
at pruebas.main(pruebas.java:20)
Process completed.
Como puedo hacer que en cancelar o cerrar regrese al menu del switch o clase principal?? Como funciona el return se puede usar?? He leido algo sobre etiquetas, pero como funciona? se puede regresar de un metodo a una etiqueta en la clase main? o como puedo hacer que regresa al menu si dan en cancelar?