Estimados, resulta que estoy aprendiendo a usar JOptionPane, junto con switch y otras cositas. Bueno, estuve haciendo un programa para calcular operaciones básicas de geometría, pero a pesar de que no logro visualizar error alguno, no me arroja resultados correctos para cada dato. Acá dejo el código para que lo vean (ojo, no está terminado un caso, pero están las operaciones que corresponden y las que sin embargo no me dan los resultados correspondientes:
[spoiler]
package geometriabasica;
import javax.swing.*;
import java.awt.*;
import java.lang.Math.*;
/**
* @author Run.EXE
*/
public class GeometriaBasica {
public static void main(String[] args) {
int a;
String opcion;
opcion = JOptionPane.showInputDialog("Ingrese figura a calcular:\n"+"1-Rectángulo\n"+"2-Círculo\n"+"0-Salir");
a=Integer.parseInt(opcion);
switch(a){
case(1):{
String x;
int c;
x = JOptionPane.showInputDialog("Ingrese dato a calcular:\n"+"1-Perímetro\n"+"2-Área");
c = Integer.parseInt(x);
switch(c){
case(1):{
JOptionPane.showInputDialog("Ingrese largo del rectángulo:");
double largo;
largo=Double.parseDouble(x);
JOptionPane.showInputDialog("Ingrese ancho del rectángulo:");
double ancho;
ancho = Double.parseDouble(x);
double perimetro;
perimetro=(largo*2)+(ancho*2);
JOptionPane.showMessageDialog(null, "El perimetro del rectángulo es: " +perimetro);
}break;
case(2):{
JOptionPane.showInputDialog("Ingrese largo del rectángulo:");
double largo;
largo=Double.parseDouble(x);
JOptionPane.showInputDialog("Ingrese ancho del rectángulo:");
double ancho;
ancho = Double.parseDouble(x);
double area;
area = largo*ancho;
JOptionPane.showMessageDialog(null, "El área del rectángulo es: "+area);
}break;
}
}break;
case(2):{
String x;
int c;
x=JOptionPane.showInputDialog("Ingrese dato a calcular\n"+"1-Perimetro\n"+"2-Area");
c=Integer.parseInt(x);
switch(c){
case(1):{
double radio;
JOptionPane.showInputDialog("Ingrese radio: ");
radio=Double.parseDouble(x);
double PI;
PI = 3.1415;
double perimetro;
perimetro = 2*PI*radio;
JOptionPane.showMessageDialog(null, "El perimetro de la figura es: " +perimetro);
}break;
case(2):{
double radio;
JOptionPane.showInputDialog("Ingrese radio: ");
radio=Double.parseDouble(x);
double PI = 3.1415;
double area = PI*radio*radio;
JOptionPane.showMessageDialog(null, "El area de la figura es: " +radio);
}break;
default: JOptionPane.showMessageDialog(null, "Ingrese una opcion válida");
}
}break;
case(0):{
}break;
default: JOptionPane.showMessageDialog(null, "Ingrese una opcion válida");
}
}
}
[/spoiler]
Muchas gracias de antemano a quién me pueda ayudar :3