Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: umadara en 19 de Julio 2016, 18:33
-
Buenas aquí otro ejercicio resuelto, el CU00694B del taller de programación en Java desde cero.
public class Test {
public static void main (String[] args) {
Circulo circulo1 = new Circulo(10);
Circulo circulo2 = new Circulo(10);
System.out.println(circulo1.equals(circulo2));
Cuadrado cuadrado1 = new Cuadrado(10);
Cuadrado cuadrado2 = new Cuadrado(1);
System.out.println(cuadrado1.equals(cuadrado2));
}
}
public class Circulo extends Figura{
double areaCirculo;
public Circulo (double dimensionPrincipal) {
super (dimensionPrincipal);
}
public void areaCirculo() {
areaCirculo = 2 * 3.1416 *(dimensionPrincipal * dimensionPrincipal);
}
public double getAreaCirculo() {return areaCirculo;}
public void mostrarAreaCirculo() {
System.out.println ("El área del circulo es " + getAreaCirculo() + "cm2");
}
public boolean metodo1() {
return true;
}
public boolean equals (Object obj) {
if (obj instanceof Circulo ){
Circulo tmpCirculo = (Circulo) obj;
return tmpCirculo.dimensionPrincipal == this.dimensionPrincipal;
}
return false;
}
}
public class Cuadrado extends Figura{
double areaCuadrado;
public Cuadrado (double dimensionPrincipal) {
super (dimensionPrincipal);
}
public void areaCuadrado() {
areaCuadrado = dimensionPrincipal * dimensionPrincipal;
}
public double getAreaCuadrado() {return areaCuadrado;}
public void mostrarAreaCuadrado() {
System.out.println ("El área del cuadrado es " + getAreaCuadrado() + "cm2");
}
public boolean equals (Object obj) {
if (obj instanceof Cuadrado ){
Cuadrado tmpCuadrado = (Cuadrado) obj;
return tmpCuadrado.dimensionPrincipal == this.dimensionPrincipal;
}
return false;
}
}
public class Figura {
double dimensionPrincipal;
public Figura (double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
public void dimensionPrincipal (double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
public double getDimensionPrincipal() {return dimensionPrincipal;}
}
Sin más un saludo.
-
Hola umadara en el ejercicio tendríamos a mejorar:
- La forma de nombrar algunos métodos por ejemplo no sería public void dimensionPrincipal (double dimensionPrincipal) sino public void setDimensionPrincipal (double dimensionPrincipal)
- La fórmula del área del círculo la tienes mal
En vez de areaCirculo = 2 * 3.1416 *(dimensionPrincipal * dimensionPrincipal);
Si la dimensión principal del círculo es el radio la fórmula sería areaCirculo = 3.1416 *(dimensionPrincipal * dimensionPrincipal);
- En lugar de 3.1416 es preferible usar Math.PI que da mayor precisión
- En la clase Cuadrado te falta el set para atributos
Saludos