Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: matru en 25 de Marzo 2016, 23:46
-
Respuesta al ejercicio CU00694B del tutorial java desde cero:
public class TestFigura{
public static void main(String []Args){
Circulo circulo1 = new Circulo(5);
Circulo circulo2 = new Circulo(5);
Circulo circulo3 = new Circulo(40);
Cuadrado cuadrado1 = new Cuadrado(12);
Cuadrado cuadrado2 = new Cuadrado(10);
Cuadrado cuadrado3 = new Cuadrado(12);
System.out.println("El Area del circulo1 es: "+ circulo1.calcularArea());
System.out.println("El Area del circulo2 es: "+ circulo2.calcularArea());
System.out.println("El Area del circulo3 es: "+ circulo3.calcularArea()+"\n");
System.out.println("El Area del cuadrado1 es: "+ cuadrado1.calcularArea());
System.out.println("El Area del cuadrado2 es: "+ cuadrado2.calcularArea());
System.out.println("El Area del cuadrado3 es: "+ cuadrado3.calcularArea()+"\n");
System.out.println ("¿Son iguales el circulo1 y el circulo2? " + circulo1.equals(circulo2) );
System.out.println ("¿Son el mismo objeto el circulo1 y el circulo2? " + (circulo1 == circulo2) );
System.out.println ("¿Son iguales el circulo1 y el circulo3? " + circulo1.equals(circulo3) +"\n");
System.out.println ("¿Son iguales el cuadrado1 y el cuadrado2? " + cuadrado1.equals(cuadrado2) );
System.out.println ("¿Son el mismo objeto el cuadrado1 y el cuadrado2? " + (cuadrado1 == cuadrado2) );
System.out.println ("¿Son iguales el cuadrado1 y el cuadrado3? " + cuadrado1.equals(cuadrado3) );
}
}
public class Figura
{
private double dimensionPrincipal;
public Figura(){}
public Figura(double dimensionPrincipal){this.dimensionPrincipal = dimensionPrincipal;}
public void setDimensionPrincipal(double dimensionPrincipal){this.dimensionPrincipal = dimensionPrincipal;}
public double getDimensionPrincipal(){return dimensionPrincipal;}
}
public class Circulo extends Figura{
public Circulo(double dimensionPrincipal){
super(dimensionPrincipal);
}
public double calcularArea(){
double dimension = getDimensionPrincipal() * getDimensionPrincipal();
double area = dimension * 3.1416;
return area;
}
public boolean equals(Object obj) {
if (obj instanceof Circulo) {
Circulo circulo = (Circulo) obj;
if (Double.valueOf(getDimensionPrincipal()).equals(circulo.getDimensionPrincipal())) {
return true;
} else {
return false; }
} else { return false; }
} //Cierre del método equals
}
public class Cuadrado extends Figura{
public Cuadrado(double dimensionPrincipal){super(dimensionPrincipal);}
public double calcularArea(){
double dimension = getDimensionPrincipal() * getDimensionPrincipal();
double area = dimension * 3.1416;
return area;
}
public boolean equals(Object obj) {
if (obj instanceof Cuadrado) {
Cuadrado cuadrado = (Cuadrado) obj;
if (Double.valueOf(getDimensionPrincipal()).equals(cuadrado.getDimensionPrincipal())) {
return true;
} else {
return false; }
} else { return false; }
} //Cierre del método equals
}
-
Hola matru
En la clase Cuadrado tienes mal el cálculo del área.
public double calcularArea(){
double dimension = getDimensionPrincipal() * getDimensionPrincipal();
double area = dimension * 3.1416;
return area;
}
En el cuadrado el área es solo el lado al cuadrado, no interviene para nada el número pi (3.1416)
Saludos