# Another Measurer in Java

Using a different Measurer object, process a set of Rectangle objects to find the rectangle with the largest perimeter.

You need to supply the following class in your solution:

PerimeterMeasurer

Use the following class as your tester class:

import java.awt.Rectangle;

/**

This program tests the measurement of rectangles by perimeter.

*/

public class PerimeterTester

{

public static void main(String[] args)

{

DataSet data = . . .;

data.add(new Rectangle(5, 10, 20, 30));

data.add(new Rectangle(10, 20, 30, 40));

data.add(new Rectangle(20, 30, 5, 10));

double avg = . . .;

Rectangle max = . . .;

System.out.println("Average perimeter: " + avg);

System.out.println("Expected: ");

System.out.println("Largest perimeter: " + max);

System.out.println("Expected: ");

}

}

/**

Computes the average of a set of data values.

*/

public class DataSet

{

private double sum;

private Object maximum;

private int count;

private Measurer measurer;

/**

Constructs an empty data set with a given measurer.

@param aMeasurer the measurer that is used to measure data values

*/

public DataSet(Measurer aMeasurer)

{

sum = 0;

count = 0;

maximum = null;

measurer = aMeasurer;

}

/**

Adds a data value to the data set.

@param x a data value

*/

public void add(Object x)

{

sum = sum + measurer.measure(x);

if (count == 0

|| measurer.measure(maximum) < measurer.measure(x))

maximum = x;

count++;

}

/**

Gets the average of the added data.

@return the average or 0 if no data has been added

*/

public double getAverage()

{

if (count == 0) return 0;

else return sum / count;

}

/**

Gets the largest of the added data.

@return the maximum or 0 if no data has been added

*/

public Object getMaximum()

{

return maximum;

}

}

/**

Describes any class whose objects can measure other objects.

*/

public interface Measurer

{

/**

Computes the measure of an object.

@param anObject the object to be measured

@return the measure

*/

double measure(Object anObject);

}.

https://brainmass.com/computer-science/java/another-measurer-java-575205

#### Solution Summary

The solution uses a measurer to find several rectangles' maximum perimeter and average perimeter.