Netbeans - Hay un error en el segundo case, alguien me puede ayudar a resolverlo

 
Vista:
sin imagen de perfil

Hay un error en el segundo case, alguien me puede ayudar a resolverlo

Publicado por Norman (1 intervención) el 04/11/2021 02:52:44
public static void main(String[] args) {
byte opcion=0;
String num1;
String num2;
String num3;
String num4;

do {

opcion=Byte.parseByte (JOptionPane.showInputDialog( "Cursos\n"

+ "1. Matematicas 3\n"

+ "2. Ingles 3\n"

+ "3. Etica 3\n"

+ "4. Ciencias 3\n"

+ "5. salir\n"

+ "Teclea tu opcion"));
switch (opcion) { case 1:

num1 = JOptionPane.showInputDialog("Ingresa el costo");
JOptionPane.showMessageDialog(null,"Curso sin descuento \n" + "Total a pagar:"+ num1);
break;

case 2:

double queso;
queso = Double.parseDouble(num2);
queso= queso * 0.25;
num2 = JOptionPane.showInputDialog("Ingresa el costo");
JOptionPane.showMessageDialog(null,"Curso con descuento \n" + "Total a pagar:"+ (queso));

break;

case 3:

num3 = JOptionPane.showInputDialog("Ingresa el costo");
JOptionPane.showMessageDialog(null,"Curso sin descuento \n" + "Total a pagar:"+ num3);
break;

case 4:

num4 = JOptionPane.showInputDialog("Ingresa el costo");
JOptionPane.showMessageDialog(null,"Curso sin descuento \n" + "Total a pagar:"+ num4);

break;

case 5:

opcion=5;

break;

default:

JOptionPane.showMessageDialog(null, "Opcion Invalida"); break;

}

}while(opcion!=5);
System.exit(0);
// TODO code application logic here
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 12
Ha aumentado su posición en 13 puestos en Netbeans (en relación al último mes)
Gráfica de Netbeans

Hay un error en el segundo case, alguien me puede ayudar a resolverlo

Publicado por Kabuto (17 intervenciones) el 04/11/2021 10:18:36
No he probado el código, pero supongo que el problema es que haces el parsing de num2 ANTES de que tenga ningún valor

1
2
3
4
5
6
7
8
9
case 2:
 
double queso;
queso = Double.parseDouble(num2);
queso= queso * 0.25;
num2 = JOptionPane.showInputDialog("Ingresa el costo");
JOptionPane.showMessageDialog(null,"Curso con descuento \n" + "Total a pagar:"+ (queso));
 
break;

Primero se ha de ingresar el costo, y ya luego se parsea el dato y se computa
1
2
3
4
5
6
7
8
9
case 2:
 
double queso;
num2 = JOptionPane.showInputDialog("Ingresa el costo");
queso = Double.parseDouble(num2);
queso= queso * 0.25;
JOptionPane.showMessageDialog(null,"Curso con descuento \n" + "Total a pagar:"+ (queso));
 
break;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar