Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: mily en 10 de Octubre 2014, 08:15
-
estoy empezando a programar ,se supone que debo sacar el perimetro y area de las figuras
usando herencia y metodos get y set --tengo lo siguiente --- no se cuales son los errores--
les agradezco su ayuda
package practica1;
public abstract class Figura{
double area;
double perimetro;
public void setArea(double v_area){
area=v_area;
}
public void setPerimetro(double v_perimetro){
perimetro=v_perimetro;
}
public double getArea(){
return area;
}
public double getPerimetro(){
return perimetro;
}
}
public class Circulo extends Figura {
int radio;
public void AreaCirculo(){
area=(3.1416*radio*radio);
radio=(int) Double.parseDouble(JOptionPane.showInputDialog("dame radio"));
}
public void setArea(double v_area){
area=v_area;
}
public void setPerimetro(double v_perimetro){
perimetro=v_perimetro;
}
public double getArea(){
return area;
}
public double getPerimetro(){
return perimetro;
}
}
public class Cuadro extends Figura {
public void Cuadrado(){
int lado=5;
int area;
area=lado*lado;
}
public void setArea(double v_area){
area=v_area;
}
public void setPerimetro(double v_perimetro){
perimetro=v_perimetro;
}
public double getArea(){
return area;
}
public double getPerimetro(){
return perimetro;
}
}
public class Rectangulo extends Figura {
public void AreaRectangulo(){
int base,altura,area;
base=Integer.parseInt(JOptionPane.showInputDialog("dame base"));
altura=Integer.parseInt(JOptionPane.showInputDialog("dame altura"));
area=base*altura;
}
public void setArea(double v_area){
area=v_area;
}
public void setPerimetro(double v_perimetro){
perimetro=v_perimetro;
}
public double getArea(){
return area;
}
public double getPerimetro(){
return perimetro;
}
}
public class Triangulo extends Figura {
double base ,altura,area;
public void AreaTriangulo(){
base=Double.parseDouble(JOptionPane.showInputDialog("dame base"));
altura=Integer.parseInt(JOptionPane.showInputDialog("dame altura"));
area=(base*altura)/2;
}
public void setArea(double v_area){
area=v_area;
}
public void setPerimetro(double v_perimetro){
perimetro=v_perimetro;
}
public double getArea(){
return area;
}
public double getPerimetro(){
return perimetro;
}
}
public class Test {
public static void main(String[] args, Iterable<Figura> arrFiguras){
Figura Circulo=new Circulo();
Figura Triangulo=new Triangulo();
Figura Rectangulo=new Rectangulo();
Figura Cuadro=new Cuadro();
for (Figura figura : arrFiguras) {
String nombreFigura = Triangulo.getClass().getSimpleName();
System.out.println("Perímetro del" +Cuadro + "es: "+Cuadro.getPerimetro());
System.out.println("Área del " +Cuadro + " es:" + Cuadro.getPerimetro());
}
}
}
-
Hola mily!
Estuve mirando tu ejercicio y verificando me doy cuenta de que no se corresponde con lo requerido en el enunciado de la entrega CU00695B y que aunque se asemeja al ejercicio de la unidad CU00694B (por tener "las" clases que esta solicita) tampoco se corresponde con esta. No obstante, eh verificado tu código y te e dejado un archivo.rar con las 6 clases de tu código editadas y comentadas en cada punto donde encontré un error o donde se puede hacer alguna mejoría. Me enfoque mas en la parte funcional de tu código, pero si me sentara a mejorarlo al "100%" lo mejor para mi seria comenzarlo desde 0. Eh modificado solo lo necesario para que el código trabaje y para que asimiles los errores y los puedas evitar en futuros programas.
También tengo una curiosidad cuando dices: estoy empezando a programar ,se supone que debo sacar el perimetro y area de las figuras
usando herencia y metodos get y set --tengo lo siguiente --- no se cuales son los errores--
les agradezco su ayuda
Si estas empezando a programar creo que has comenzado por una entrega muy avanzada "CU00695B" me gustaría saber si has seguido el curso aprender a programar desde cero, desde su inicio hasta esta entrega "CU00695B"? y de no ser así te recomiendo hacerlo (realizar el curso completo).
Luego de que analices el código que aquí te dejo y cada uno de los comentarios que incluí, si tienes alguna duda o pregunta no dudes en preguntar.
Espero que encuentres algo útil en el código que eh editado.
while(true)
{
System.out.println("Saludos!");
}