[Java] Help me with ths array Write a class CircleProcessor which manages an arr
ID: 3830715 • Letter: #
Question
[Java] Help me with ths array
Write a class CircleProcessor which manages an array of Circles. You are given a Circle class.
The constructor of the CircleProcessor takes an array of Circles. The array must contain at least one element
Provide these methods
An averageArea method that returns the average area of the Circles in the array. Only divide one time
A method swapMaxAndMin which swaps the largest and smallest elements in the array. Only use one loop
A method toString which returns the string representation of the underlying array using Arrays.toString
Use the following files:
Circle.java
CircleProcessorTester.java
Here's my code:
import java.util.Arrays;
public class CircleProcessor
{
private Circle[] circleArray;
public CircleProcessor(Circle[] circles)
{
circleArray = circles;
}
public double averageArea()
{
double average = 0;
for(int i = 0; i < circleArray.length; i++)
{
double sum = 0;
sum = sum + circleArray[i].area();
average = sum / i;
}
return average;
}
public void swapMaxAndMin(Circle[] c)
{
int maxIndex = 0;
int minIndex = 0;
for(int i = 0; i < c.length; i++)
{
if(c[i].area() > c[maxIndex].area())
{
maxIndex = i;
}
else if(c[i].area() < c[maxIndex].area())
{
minIndex = i;
}
}
Circle temp = c[minIndex];
c[minIndex] = c[maxIndex];
c[maxIndex] = temp;
}
public String toString(Circle[] circles)
{
String temp ="";
for(int i = 0; i < circles.length; i++)
{
temp = temp + Arrays.toString(circles) + " ";
}
return temp;
}
}
Explanation / Answer
import java.util.Arrays;
public class CircleProcessor
{
private Circle[] circleArray;
public CircleProcessor(Circle[] circles)
{
circleArray = circles;
}
public double averageArea()
{
double average = 0.0;
double sum=0.0;
for(int i = 0; i < circleArray.length; i++)
{
sum = sum + circleArray[i].area();
}
average = sum /circleArray.length;
return average;
}
public void swapMaxAndMin(Circle[] c)
{
int maxIndex = 0;
int minIndex = 0;
for(int i = 0; i < c.length; i++)
{
if(c[i].area() > c[maxIndex].area())
{
maxIndex = i;
}
else if(c[i].area() < c[minIndex].area())
{
minIndex = i;
}
}
Circle temp = c[minIndex];
c[minIndex] = c[maxIndex];
c[maxIndex] = temp;
}
public String toString(Circle[] circles)
{
String temp ="";
temp = temp + Arrays.toString(circles) + " ";
return temp;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.