gpt4 book ai didi

java - 如何根据父类计算子类的面积

转载 作者:行者123 更新时间:2023-12-01 16:23:35 26 4
gpt4 key购买 nike

这是我的问题:

  1. 当我打印两个形状的区域时,我得到了椭圆正确区域,但是0 代表圈子。为什么?

  2. 我有多个圆半径。我怎样才能继续将其添加到由先前的半径计算出的面积中?简而言之,我需要将所有半径的面积相加。

  3. 每当我传递圆的半径时,我还需要将圆面积(由半径计算)也添加到椭圆面积。如何做到这一点?

这是我当前的代码:

public class Ellipse {
private double area;
private double axis1;
private double axis2;

public Ellipse() {
area = 0;
}

public Ellipse (double axis1, double axis2) {
this.axis1 = axis1;
this.axis2 = axis2;
}

public void calculateArea() {
area += axis1 * axis2;
}

public double getArea() {
return area;
}
}

public class Circle extends Ellipse {
private double radius;
private double area;

public Circle(){
area = 0;
}

public Circle(double radius) {
super(radius, radius);
}

public double getArea() {
return area;
}
}

public class Driver {
public static void main (String args[]) {
Ellipse ellipse = new Ellipse(10, 20);
ellipse.calculateArea();
Circle circle = new Circle(50);
circle.calculateArea();
System.out.println("Area of Circle is : " + ellipse.getArea());
System.out.println("Area of Circle is : " + circle.getArea());
}
}

最佳答案

Circle 类下的 getArea() 方法中,您将返回 Circle 下的 area 的值>.

但是,您可以在 Ellipse 类下的 area 变量中计算结果。

这样做:改变

private double area;

protected double area;

Circle 类下的 getArea() 方法中:

public double getArea(){
return super.area;
}

希望这有帮助。

关于java - 如何根据父类计算子类的面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36707036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com