0% encontró este documento útil (0 votos)
251 vistas12 páginas

Cálculo de Área y Volumen de Figuras

El documento presenta una tarea sobre clases abstractas para calcular el área y volumen de diferentes figuras geométricas. Se crea una clase abstracta FiguraGeometrica con atributos x e y y métodos abstractos Area() y Volumen(). Luego se implementan clases hijas como Circulo, Cuadrado, etc. que heredan estos métodos. Finalmente, la clase Principal contiene un menú para seleccionar una figura y calcular su área y volumen mediante métodos como CalcularCirculo(), CalcularCuadrado(), etc.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
251 vistas12 páginas

Cálculo de Área y Volumen de Figuras

El documento presenta una tarea sobre clases abstractas para calcular el área y volumen de diferentes figuras geométricas. Se crea una clase abstracta FiguraGeometrica con atributos x e y y métodos abstractos Area() y Volumen(). Luego se implementan clases hijas como Circulo, Cuadrado, etc. que heredan estos métodos. Finalmente, la clase Principal contiene un menú para seleccionar una figura y calcular su área y volumen mediante métodos como CalcularCirculo(), CalcularCuadrado(), etc.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD TECNOLÓGICA DE SANTIAGO UTESA

Lab. De Programación II

Tarea sobre Clases Abstractas

1- Cree una clase abstracta llamada FiguraGeometrica con los atributos tipo double x e y.
Esta clase abstracta tiene dos métodos abstractos llamados Área y Volumen, dichos
métodos retornan valores double.
2- Escriba clases relacionadas con figuras geométricas (como el Circulo, Cuadrado, Esfera, etc.)
donde se implementen los métodos abstractos heredados. En total hacer 9 clases, una para
cada figura geométrica. Estas figuras tienen sus atributos particulares. Por ejemplos: el
Circulo tiene el atributo Radio, el Cuadrado tiene el atributo lado, etc.

3- Hacer una clase PrincipalFigura donde haya un menú para seleccionar la Figura Geométrica
para calcular su área y volumen (si tiene volumen). En este menú cree métodos para
calcular el área y volumen de la figura seleccionada. Todos los atributos deben ser
validados.

Nota:

Ejemplos de figuras geométricas: Circulo, Cuadrado, Triangulo, Rectángulo, Esfera,


Rombo, Trapecio, Cilindro, Ovalo, Cubo, Pentágono, Cono, etc.

Debe buscar la fórmula del área y volumen (El volumen para los que apliquen).

Adrian Rodríguez 2-19-0639

import java.text.DecimalFormat;

import java.util.Scanner;

public class Principal {


DecimalFormat formato = new DecimalFormat("0.00");

public static Scanner entrada = new Scanner(System.in);

public void Menu(){

System.out.println("-CALCULAR ÁREA/VOLUMEN DE FIGURAS-");


System.out.println("1- Calcular área del cuadrado.");
System.out.println("2- Calcular área/volumen del cilindro.");
System.out.println("3- Calcular área del círculo.");

System.out.println("4- Calcular área del triángulo.");


System.out.println("5- Calcular área del rectángulo.");
System.out.println("6- Calcular área/volumen de esfera.");
System.out.println("7- Calcular área/volumen del cubo.");
System.out.println("8- Calcular área/volumen del paralelepípedo.");
System.out.println("9- Calcular área del óvalo.");
System.out.println("10- Salir.\n");
System.out.print("Digite la opción: ");
}

public static void main(String[]


args) { Principal p = new
Principal(); int op=0,i = 0;

p.Menu();
do{

op =
entrada.nextInt(); if
(op<=0 || op > 10)

System.out.println("El número debe estar entre 1 y 10. Digite nuevamente:");


else i++;

}while(i==0);
if(op == 1)

p.CalcularCuadrado();
else if(op == 2)

p.CalcularCilindro();
else if(op==3)

p.CalcularCirculo();
else if(op==4)

p.CalcularTriangulo();
else if (op ==5)

p.CalcularRectangulo();
else if (op ==6)

p.CalcularEsfera();

else if(op==7)
p.CalcularCubo();
else if (op==8)

p.CalcularParale();
else if(op==9)

p.CalcularOvalo();
else

System.out.println("Gracias por usar el programa de las figuras");

public abstract class


FiguraGeometrica { protected
double a; protected double b;

public FiguraGeometrica (double x,double


y) { this.a=x; this.b=y;

}
public abstract double Area();

public abstract double Volumen();

public void CalcularCuadrado(){

double l;

System.out.println("\nDigite el lado: ");

do{

l=
entrada.nextDouble();
if (l<=0)

System.out.println("\nEl número debe ser mayor a cero. Hazlo denuevo:");


}while(l<=0);

Cuadrado cu = new Cuadrado(0,0,l);


System.out.println("\nEl área del cuadrado es: "+formato.format(cu.Area()));
}

public void CalcularCilindro(){

double r,h;

System.out.println("\nDigite el radio: ");


do{

r=
entrada.nextDouble();
if (r<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(r<=0);

System.out.println("\nDigite la altura:");

do{

h=
entrada.nextDouble(); if
(h<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(h<=0);

Cilindro ci = new Cilindro(0,0,r,h);


System.out.println("\nEl área del cilindro es: "+formato.format(ci.Area()));
System.out.println("El volumen del cilindro es: "+formato.format(ci.Volumen()));
}

public void CalcularCirculo(){

double r;

System.out.println("\nDigite el radio: ");

do{

r=
entrada.nextDouble();
if (r<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(r<=0);

Circulo ci = new Circulo(0,0,r);


System.out.println("\nEl área del circulo es: "+formato.format(ci.Area()));
}

public void CalcularTriangulo(){

double b,h;
System.out.println("\nDigite el base: ");

do{
b=
entrada.nextDouble(); if
(b<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(b<=0);

System.out.println("\nDigite la altura: ");

do{

h=
entrada.nextDouble(); if
(h<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(h<=0);

Triangulo t = new Triangulo(0,0,b,h);


System.out.println("\nEl área del triángulo es: "+formato.format(t.Area()));
}

public void CalcularRectangulo(){

double b,h;

System.out.println("\nDigite el base: ");

do{

b=
entrada.nextDouble(); if
(b<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(b<=0);

System.out.println("\nDigite la altura: ");

do{

h=
entrada.nextDouble(); if
(h<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(h<=0);

Rectangulo r = new Rectangulo(0,0,b,h);


System.out.println("\nEl área del rectángulo es: "+formato.format(r.Area()));

public void CalcularEsfera(){


double r;

System.out.println("\nDigite el radio: ");

do{

r=
entrada.nextDouble();
if (r<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(r<=0);

Esfera e = new Esfera(0,0,r);


System.out.println("\nEl área de la esfera es: "+formato.format(e.Area()));
System.out.println("El volumen de la esfera es: "+formato.format(e.Volumen()));
}

public void CalcularCubo(){

double a;

System.out.println("\nDigite el lado (arista): ");

do{

a=
entrada.nextDouble();
if (a<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(a<=0);

Cubo cu = new Cubo(0,0,a);


System.out.println("\nEl área del cubo es: "+formato.format(cu.Area()));
System.out.println("El volumen del cubo es: "+formato.format(cu.Volumen()));
}

public void CalcularParale(){

double l,h,a;

System.out.println("\nDigite la longitud: ");

do{

l = entrada.nextDouble();

if (l<=0)
System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");
}while(l<=0);

System.out.println("\nDigite la altura:");
do{

h=
entrada.nextDouble(); if
(h<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(h<=0);

System.out.println("\nDigite la anchura:");

do{

a=
entrada.nextDouble();
if (a<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(a<=0);

Paralelepipedo p = new Paralelepipedo(0,0,l,h,a);


System.out.println("\nEl área del paralelepípedo es: "+formato.format(p.Area()));
System.out.println("El volumen del paralelepípedo es:

"+formato.format(p.Volumen()));
}

public void CalcularOvalo(){

double rma,rme;

System.out.println("\nDigite el radio mayor: ");

do{

rma =
entrada.nextDouble(); if
(rma<=0)

System.out.println("\nEl número debe ser mayor a cero. Digite nuevamente:");


}while(rma<=0);

System.out.println("\nDigite la radio menor:");

do{

rme =
entrada.nextDouble(); if
(rme<=0)
System.out.println("\nEl número
debe ser mayor a cero. Digite
nuevamente:");
}while(rme<=0);
Ovalo o = new Ovalo(0,0,rma,rme);
System.out.println("\nEl área del óvalo es: "+formato.format(o.Area()));
}

public class Cuadrado extends FiguraGeometrica {

private double lado;

public Cuadrado(double x, double y,double


lado) { super(x, y); this.lado = lado;

@Override

public double
Area() { return
lado*lado;

@Override
public double Volumen() {
return 0;

public class Cilindro extends


FiguraGeometrica { private double radio;

private double altura;

public Cilindro(double x, double y,double radio,double altura) {


super(x, y);

this.radio = radio;

this.altura = altura;

@Override
public double
Area() {

return ((2*Math.PI*radio*altura)+(2*Math.PI*Math.pow(radio, 2)));


}

@Override public
double Volumen() {

return (Math.PI*Math.pow(radio, 2)*altura);


}
}

public class Circulo extends FiguraGeometrica{

private double radio;

public Circulo(double x,double y, double


radio){ super(x, y); this.radio = radio;

@Override

public double
Area(){

return (Math.PI*Math.pow(radio, 2));


}

@Override

public double
Volumen(){

return 0;
}
}

public class Triangulo extends


FiguraGeometrica{ private double base;

private double altura;

public Triangulo(double x, double y, double base, double altura)


{ super(x, y); this.base = base; this.altura = altura;

@Override
public double Area() {
return ((base*altura)/2);

}
@Override

public double
Volumen() { return
0;

}
}

public class Rectangulo extends


FiguraGeometrica{ private double base;
private double altura;

public Rectangulo(double x, double y,double base, double altura)


{ super(x, y); this.base = base; this.altura = altura;

}
@Override

public double
Area() { return
(base*altura);

@Override

public double Volumen() {


return 0;
}
}

public class Esfera extends FiguraGeometrica {

private double radio;

public Esfera(double x, double y, double


radio) { super(x, y); this.radio = radio;

@Override

public double Area() { return


(4*Math.PI*Math.pow(radio, 2));
}

@Override

public double Volumen() {

return
((4*Math.PI*Math.pow(radio,3))/3);

}
}

public class Cubo extends FiguraGeometrica{

private double arista;

public Cubo(double x, double y, double


arista) { super(x, y); this.arista = arista;

@Override
public double Area() {

return
(6*Math.pow(arista,2));

@Override
public double Volumen() {
return (Math.pow(arista,
3));
}

public class Paralelepipedo extends


FiguraGeometrica{ private double altura;

private double anchura;

private double longitud;

public Paralelepipedo(double x, double y, double altura, double anchura, double


longitud) { super(x, y); this.longitud = longitud; this.anchura =
anchura; this.altura = altura;
}
@Override

public double
Area() {

return ((2*longitud*anchura)+(2*longitud*altura)+(2*anchura*altura));
}

@Override

public double Volumen() {


return(longitud*anchura*altura);

public class Ovalo extends


FiguraGeometrica{ private double
radiomayor;

private double radiomenor;

public Ovalo(double x, double y, double radiomayor, double radiomenor) {

super(x, y);

this.radiomayor = radiomayor;
this.radiomenor = radiomenor;

}
@Override

public double
Area() {

return (((radiomayor/2)*(radiomenor/2))*Math.PI);
}

@Override

public double
Volumen() {

return 0;

También podría gustarte