现有以下接口的声明: public interface CalcArea l double getArea () ; ) (1)定义圆类Circle 并实现接口 CalcArea,圆类的主要成员变量为

现有以下接口的声明:
public interface CalcArea l
double getArea () ;
)
(1)定义圆类Circle 并实现接口 CalcArea,圆类的主要成员变量为半径,构造方法的参数
于初始化半径。
(2)定义矩形类 Rectangle 并实现接口 CalcArea,矩形类的主要成员变量包括长和宽,构
方法的参数用于初始化长和宽。
(3)现有如下类 Tester,其功能是求存储在一个数组中的多个图形的面积之和,要求补全
中缺失的代码。
pub1ic class Testerl
static①
_shapes = I new Circle (1.0), new Rectangle(3. 0, 4. 0), new circie
(8.0));
public static void main (String l ] args) 1
System.out-printin("total area = "+ sumArea (shapes);
)
pubiic static double sumArea(

shapes) (

)
-·二仁的结果.

(1)定义圆类 Circle 并实现接口 CalcArea ,圆类的主要成员变量为半径,构造方法的参数用于初始化半径。

public class Circle implements CalcArea {
private double radius;

public Circle(double radius) {
    this.radius = radius;
}

@Override
public double getArea() {
    return Math.PI * radius * radius;
}

}

(2)定义矩形类 Rectangle 并实现接口 CalcArea ,矩形类的主要成员变量包括长和宽,构造方法的参数用于初始化长和宽。

public class Rectangle implements CalcArea {
private double length;
private double width;

public Rectangle(double length, double width) {
    this.length = length;
    this.width = width;
}

@Override
public double getArea() {
    return length * width;
}

}

(3)现有如下类 Tester ,其功能是求存储在一个数组中的多个图形的面积之和,要求补全其中缺失的代码。

public class Tester {
public static final CalcArea[] shapes = {new Circle(1.0), new Rectangle(3.0, 4.0), new Circle(8.0)};

public static void main(String[] args) {
    System.out.println("total area = " + sumArea(shapes));
}

public static double sumArea(CalcArea[] shapes) {
    double totalArea = 0.0;
    for (CalcArea shape : shapes) {
        totalArea += shape.getArea();
    }
    return totalArea;
}

}

这段代码定义了一个名为 Tester 的类,其中包含一个静态的 CalcArea 类型数组 shapes ,以及一个静态方法 sumArea 用于计算数组中所有图形的面积之和。

在 main 方法中,调用了 sumArea 方法并传递 shapes 数组作为参数,将计算结果输出到控制台。

在 sumArea 方法中,定义了一个变量 totalArea 用于存储总面积,然后使用 for-each 循环遍历数组中的每个图形对象,通过调用图形对象的 getArea 方法获取其面积,并累加到 totalArea 中。最后,返回计算得到的总面积。

完整的代码实现了计算存储在数组中的多个图形的面积之和的功能。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值