Доступ к свойствам объектов в списке массивов

#java #arraylist

#java #список массивов

Вопрос:

Мне нужно создать метод для нахождения суммы площадей прямоугольников в заданном ArrayList количестве прямоугольников.

 public class Homework {
public static void main(String[] args) {
    ArrayList<Rectangle> test = new ArrayList<Rectangle>();
    test.add(new Rectangle(10, 20, 30, 40));
    test.add(new Rectangle(10, 10, 30, 40));
    test.add(new Rectangle(20, 20, 40, 50));
    test.add(new Rectangle(20, 10, 50, 30));
    System.out.println(areaSum(test));
    System.out.println("Expected: 5900.0");
    System.out.println(areaAverage(test));
    System.out.println("Expected: 1475.0");
}

public static double areaSum(ArrayList<Rectangle> rects){
    //work goes here
}
  

Что у меня есть до сих пор, так это:

 public static double areaSum(ArrayList<Rectangle> rects){
    double totalArea = 0;
    for (Rectangle r : rects) {
        double area = (x   width) * (y   height);
        totalArea = totalArea   area;
    }
    return totalArea;
}
  

Как я могу извлечь размеры прямоугольников из ArrayList построенного тестером блока? Я вроде как новичок в этой области, это домашнее задание, и я, кажется, не могу в нем разобраться.

Ответ №1:

Измените строку, которая вычисляет площадь на:

double area = r.getWidth() * r.getHeight();

Ответ №2:

area = width * height (не то, что у вас есть). Исправьте свои вычисления.

Кроме того, для большей «компактности» используйте эту строку:

     totalArea  = r.getWidth() * r.getHeight();