【问题标题】:Average of Rectangle Area矩形面积的平均值
【发布时间】:2013-04-16 05:04:18
【问题描述】:

我必须找到每个矩形面积的平均总和。我可以找到每个矩形的面积,我应该将每个面积存储到一个数组中并通过它找到平均值吗?还是那不可能?

ArrayList<Rectangle> list = new ArrayList<Rectangle>();
    list.add(new Rectangle(0, 0, 25, 50));
    list.add(new Rectangle(0, 0, 10, 30));
    list.add(new Rectangle(0, 0, 100, 40));
    list.add(new Rectangle(0, 0, 40, 45 ));
    list.add(new Rectangle(0, 0, 13, 13));

    double aAvg = 0.0;
    for (int i = 0; i < list.size(); i++ ) {
        double h = list.get(i).getHeight();
        double w = list.get(i).getWidth();
        double area = h * w;
        System.out.println(area);
    }

【问题讨论】:

  • 不敢相信我想多了...

标签: java average area


【解决方案1】:

基本上,您只需将每个区域加起来即可

double sum = 0.0;
for (int i = 0; i < list.size(); i++ ) {
    double h = list.get(i).getHeight();
    double w = list.get(i).getWidth();
    double area = h * w;
    sum += area;
}

然后根据该值计算平均值...

double aAvg = sum / (double)list.size();

除非您需要区域列表,否则无需维护另一个列表。根据需要(在这种情况下)计算它要简单得多(也更安全)...

【讨论】:

  • 欢迎来到森林,你不会看到太多树木;)
【解决方案2】:

试试这个。

ArrayList<Rectangle> list = new ArrayList<Rectangle>();
    list.add(new Rectangle(0, 0, 25, 50));
    list.add(new Rectangle(0, 0, 10, 30));
    list.add(new Rectangle(0, 0, 100, 40));
    list.add(new Rectangle(0, 0, 40, 45 ));
    list.add(new Rectangle(0, 0, 13, 13));

    double aAvg = 0.0;
    double totalArea = 0.0;
    for (int i = 0; i < list.size(); i++ ) {
        double h = list.get(i).getHeight();
        double w = list.get(i).getWidth();
        double area = h * w;
        totalArea += area;
        System.out.println(area);
    }
    aAvg = totalArea / list.size();

    System.out.println("Average area : " + aAvg);

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多