public class Main {
public static void main(String[] args) {
int op = 0;
int Base, Altura, nL, apotema, ladob,radio;
Cuadrado cuadrado = new Cuadrado();
Poligono poligono = new Poligono();
Romboide romboide = new Romboide();
Rectangulo rectangulo = new Rectangulo();
Circulo circulo = new Circulo();
Triangulo_Equilatero triangulo_equilatero = new Triangulo_Equilatero();
TrianguloRectangulo triangulorectangulo = new TrianguloRectangulo();
do{
op = Integer.parseInt(JOptionPane.showInputDialog(null, "Seleccione la figura deseada "
+ "\n 1.-Cuadrado "
+ "\n 2.-Poligono "
+ "\n 3.-Romboide "
+ "\n 4.-Rectangulo"
+ "\n 5.-Circulo "
+ "\n 6.-Triangulo Equilatero "
+ "\n 7.-Triangulo Rectangulo "
+ "\n 8.-Salir del menu"));
switch(op){
case 1:
try {
Altura = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la altura del cuadrado"));
cuadrado.setAltura(Altura);
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la base del cuadrado"));
cuadrado.setBase(Base);
JOptionPane.showMessageDialog(null, "Area del cuadrado es: "+calcularArea(cuadrado));
JOptionPane.showMessageDialog(null, "EL perimetro del cuadrado es: "+ calculaPerimetro(cuadrado));
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Ocurrio un error",
JOptionPane.WARNING_MESSAGE);
}
break;
case 2:
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la base del poligono"));
poligono.setBase(Base);
nL = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de lados del poligono"));
poligono.setnL(nL);
apotema = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el apotema del poligono"));
poligono.setApotema(apotema);
JOptionPane.showMessageDialog(null, "El area del poligono es: "+calcularArea(poligono));
JOptionPane.showMessageDialog(null, "El perimetro del poligono es: " + calculaPerimetro(poligono));
break;
case 3:
Altura = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la altura del Romboide"));
romboide.setAltura(Altura);
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el lado a del romboide "));
romboide.setBase(Base);
ladob = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el lado b del romboide "));
romboide.setLadob(ladob);
JOptionPane.showMessageDialog(null, "El area del romboide es: "+ calcularArea(romboide));
JOptionPane.showMessageDialog(null, "El perimetro del romboide es: "+calculaPerimetro(romboide));
break;
case 4:
Altura = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la altura del rectangulo"));
rectangulo.setAltura(Altura);
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la base del rectangulo"));
rectangulo.setBase(Base);
JOptionPane.showMessageDialog(null, "Area del rectangulo es: "+calcularArea(rectangulo));
JOptionPane.showMessageDialog(null, "EL perimetro del rectangulo es: "+ calculaPerimetro(rectangulo));
break;
case 5:
radio = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el valor de Radio"));
circulo.setRadio(radio);
JOptionPane.showMessageDialog(null, "Area del circulo es: "+calcularArea(circulo));
JOptionPane.showMessageDialog(null, "EL perimetro del rectangulo es: "+calculaPerimetro(circulo));
break;
case 6:
Altura = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la altura del Triangulo Equilatero"));
triangulo_equilatero.setAltura(Altura);
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la base del Triangulo Equilatero"));
triangulo_equilatero.setBase(Base);
JOptionPane.showMessageDialog(null, "Area del triangulo equilatero es: "+calcularArea(triangulo_equilatero));
JOptionPane.showMessageDialog(null, "EL perimetro del triangulo equilatero: "+ calculaPerimetro(triangulo_equilatero));
break;
case 7:
Altura = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la altura del Triangulo Rectangulo"));
triangulorectangulo.setAltura(Altura);
Base = Integer.parseInt(JOptionPane.showInputDialog("Ingrese la base del Triangulo Rectangulo"));
triangulorectangulo.setBase(Base);
JOptionPane.showMessageDialog(null, "Area del Triangulo Rectangulo es: "+calcularArea(triangulorectangulo));
JOptionPane.showMessageDialog(null, "EL perimetro del Triangulo Rectangulo es: "+ calculaPerimetro(triangulorectangulo));
break;
case 8:
JOptionPane.showMessageDialog(null, "Hasta la proximaaaa");
break;
default: JOptionPane.showMessageDialog(null, "Opciion No Valida");
}
}while(op!=8);
}
public static double calcularArea(Figura f){ // polimorfismo
return f.CalcularArea();
}
public static double calculaPerimetro(Figura f){ // polimorfismo
return f.CalcularPerimetro();
}
}