Java Object-Oriented Programming: Quadrado, Piramide, and Cubo
Classified in Computers
Written on in
English with a size of 3.24 KB
Java Geometric Shapes Implementation
abstract class Quadrado {
private float lado;
public Quadrado ()
{this.lado = 0;}
public Quadrado (float lado)
{this.lado = lado;}
public float getLado ()
{return (this.lado);}
public void setLado (float lado)
{this.lado = lado;}
double area ()
{return Math.pow (this.lado,2);}
double perimetro ()
{return 4 * this.lado;}
void mostrarDados ()
{System.out.println ("Quadrado com lado " + this.lado);
System.out.println ("Area = " + this.area ());
System.out.println ("Perimetro = " + this.perimetro());
}
}
class Piramide extends Quadrado {
private float altura;
public Piramide ()
{super (0);
this.altura = 0;}
public Piramide (float lado, float altura)
{super (lado);
this.altura = altura;}
public void setAltura (float altura)
{this.altura = altura;}
public float getAltura ()
{return (this.altura);}
double perimetro ()
{return (0);}
public float alturaLado ()
{return (float) Math.sqrt ( ( Math.pow ( this.getLado () / (float) 2,2) + Math.pow (this.altura,2)));}
public float areaLateral ()
{return ( 4 * (this.getLado () * this.alturaLado () / (float) 2));}
double area ()
{return super.area () + this.areaLateral ();}
double volume ()
{return super.area () * this.altura / 3;}
void mostrarDados ()
{System.out.println ("Piramide ");
System.out.println ("Lado " + this.getLado ());
System.out.println ("Altura " + this.getAltura ());
System.out.println ("Area Base = " + super.area ());
System.out.println ("Perimetro da base = " + super.perimetro());
System.out.println ("Altura do lado = " + this.alturaLado ());
System.out.println ("Area Lateral = " + this.areaLateral ());
System.out.println ("Area = " + this.area ());
System.out.println ("Volume = " + this.volume());
}
}
class Cubo extends Quadrado {
public Cubo ()
{super (0);}
public Cubo (float lado)
{super (lado);}
double area ()
{return 6 * super.area ();}
double perimetro ()
{return (0);}
double volume ()
{return super.area () * this.getLado();}
void mostrarDados ()
{System.out.println ("Cubo com lado " + this.getLado ());
System.out.println ("\nArea = " + this.area ());
System.out.println ("\nVolume = " + this.volume());
}
}
//import jutil.*;
class LerPiramide
{
public static void main(String[] args) throws Exception
{ Piramide p = new Piramide (0,0);
System.out.println ("Dados da Piramide");
System.out.print ("\nInforme o lado -> ");
p.setLado (JUtil.readFloat ());
while (p.getLado () != 0)
{ System.out.print ("\nInforme a Altura -> ");
p.setAltura(JUtil.readFloat ());
p.mostrarDados ();
System.out.print ("\nInforme o lado -> ");
p.setLado (JUtil.readFloat ());
}
}
}