2 sylvia1997 sylvia1997 于 2015.06.18 16:46 提问

求数组中所有几何对象的面积之和

方法签名如下:
public static double sumArea(GeometricObject[] a)编写测试程序,创建三个对象
(一个圆,一个三角形,一个矩形)的数组。并使用sumArea方法求它们的总面积。

4个回答

bdmh
bdmh   Ds   Rxr 2015.06.18 17:03

GeometricObject作为基类,那三种形状作为子类,基类公布计算面积的接口,子类实现具体计算,剩下的就是遍历,调用接口,汇总

tongyi55555
tongyi55555   2015.06.18 19:49

        GeometricObject[] gobj = new GeometricObject[3];
        gobj[0] = new Triangle(new Point(1.0, 2.0), new Point(1.0, 1.0),
                new Point(0.0, 2.0));
        gobj[1] = new Circle(new Point(1.0, 2.0), 3);
        gobj[2] = new Rectangle(new Point(1.0, 2.0), new Point(1.0, 5.0),
                new Point(1.0, 0.0), new Point(5.0, 0.0));
        double sumArea = 0;
        for (int i = 0; i < gobj.length; i++) {
            if (gobj[i] != null) {
                double area = gobj[i].getArea();
                System.out.println(gobj[i].toString() + "其面积为:" + area);
                sumArea += area;
            }
        }
        System.out.println("总面积为:" + sumArea);

输出结果为:

 三角形的三个顶点为:点(1.0,2.0);点(1.0,1.0);点(0.0,2.0);其面积为:0.5
圆形的中心为:点(1.0,2.0);半径为:3.0其面积为:28.27
矩形的四个顶点为:点(1.0,2.0);点(1.0,5.0);点(1.0,0.0);点(5.0,0.0);其面积为:6.0
总面积为:34.769999999999996

tongyi55555
tongyi55555   2015.06.18 18:27

你这个GeometricObject是自己定义的吧?

beacon_2011
beacon_2011   Rxr 2015.06.19 12:40

做个for循环,加一下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
求几何形状的面积之和
(求几何形状的面积之和)编写一个方法,求数组中所有几何形状对象的面积之和。方法签名如下:public static double sumArea(shape[] a)编写测试程序,继承抽象类shape得到圆形类Circle和矩形类Rectangle。abstract class shape {// 抽象类/ 抽象方法 求面积 /public abstract double getArea();/ 抽
【2014华为机试题】02.求出数组中所有奇数之和以及所有偶数之和
【2014华为机试题】 求出数组中所有奇数之和以及所有偶数之和 描述: 输入一个整型数组,分别求出数组中所有奇数之和以及所有偶数之和。 运行时间限制: 60 Sec 内存限制: 256 MByte 输入: 一行字符串: (1)字符串长度不超过1024字节; (2)输入数组中元素的个数不超过100个; (3
求数组所有元素和
package tag; /* * 求数组a[]={2,5,8,31,6,8,14}和数组b[]={4,12,10,9,21,6}中所有元素之和 * */ public class Test4 { public static void main(String[] args) { int sum = 0; int[] a = { 2, 5, 8, 31, 6, 8, 14 };
计算一个数组所有元素之和(方法总结)
    上面两个帖子均以计算一个给定数组元素之和的例子 来展示多核处理器(多处理器)并行计算的方法。由于只是演示,在基于实际操作系统的场合下,这两种方法都需要有一定的变更。    第一个例子,在计算一个数组元素之和的场合下使用旋锁,在一定程度上有些不合适。由于上锁和解锁所花费的开销可能是从数组中获取相应元素,然后加到指定地点所花费指令周期的2倍,甚至更多。对于一个旋锁,它只能放在非cache存
递归函数求n和求数组所有元素之和的问题
问题:用c求2!+4!+6!+8!+10!用递归函数求n! 答案: #include int fac(int a) { if(a < 2) return a; return a * fac(a - 1); } int main() { int i, s = 0;; for(i = 2; i <= 10; i += 2) s = +fac(i); pr
SuperMap iClient for javaScript 判断几何对象是否相交
SuperMap iClient for javaScript 判断几何对象是否相交
汇编-求数组中所有偶数的和
程序重点:使用test命令来判断一个数是不是偶数,而不是使用除2求余数。 使用除2求余数的方法太占寄存器了,设置被除数需要使用eax,设置除数需要一个寄存器,假定使用ebx,两者的商会存放到eax中,同时把余数存放到edx中。所以使用这种方法使用了三个寄存器。 而使用test这种方法就使得判断变得简单。 test des,src 的指令功能就是将des和src两个操作数进行与运算。
黑马程序员之C#编程基础学习笔记:计算一个整数数组的所有元素的和。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test17 {       calss Program       {             static void Main(string[] args)             {
5.1(接口)1)定义shape接口,包含求面积和求周长的方法;2)定义Circle类、Rectangle类、Square类;
摩尔的Java学习笔记5.1 (接口)1)定义shape接口,包含求面积和求周长的方法;2)定义Circle类、Rectangle类、Square类;3)要求Circle类和Rectangle类实现shape接口,Square类继承Rectangle类;4)运行时,让用户选择输入什么图形,然后输入相应数据,求出该图形的面积和周长;
[华为机试]求出数组中所有奇数之和以及所有偶数之和
代码: #include #include #include #include int main() { int num[100]; int odd = 0, even = 0; std::string str; getline(std::cin, str); std::stringstream s(str); int j = 0; while(getline(s, s