To be done using Java with Netbeans. No UML diagrams are needed, just the workin
ID: 3564944 • Letter: T
Question
To be done using Java with Netbeans. No UML diagrams are needed, just the working code.
*10.11 (Geometry: the Circle2D class) Define the Circle e20 class that contains: Two double data fields named x and y that specify the center of the circle with getter methods. A data field radius with a getter method. A no-arg constructor that creates a default circle with (0, 0) for ( x, y) and 1 for radius. A constructor that creates a circle with the specified x, y, and radius. A method getArea() that returns the area of the circle. A method getPerimeter () that returns the perimeter of the circle. A method contains(double x, double y) that returns true if the specified point (x, y) is inside this circle (see Figure 10.21a). A method contains (Circle2D circle) that returns true if the specified circle is inside this circle (see Figure 10.21b). A method overlaps (Circle2D circle) that returns true if the specified circle overlaps with this circle (see Figure 10.21c). (a) A point is inside the circle. (b) A circle is inside another circle. (c) A circle overlap another circle. Draw the UML diagram for the class and then implement the class. Write a test program that creates a Circle2D object cl (new Circle2D(2 , 2 ,5 . 5)), displays its area and perimeter, and displays the result of cl . contains(3 , 3), cl .contains(new Circle2D(4, 5, 10. 5)), and c1.overlaps(new Circle2D(3, 5, 2.3)).Explanation / Answer
public class Circle2D
{
private double x;
private double y;
private double radius;
public Circle2D()
{
x = 0;
y = 0;
radius = 1;
}
public Circle2D(double x, double y, double radius)
{
this.x = x;
this.y = y;
this.radius = radius;
}
public double getX()
{
return x;
}
public double getY()
{
return y;
}
public double getRadius()
{
return radius;
}
public double getArea()
{
return Math.PI * radius * radius;
}
public double getPerimeter()
{
return 2 * Math.PI * radius;
}
private double distance(double x, double y)
{
double dx = this.x - x;
double dy = this.y - y;
return Math.sqrt(dx * dx + dy * dy);
}
public boolean contains(double x, double y)
{
return distance(x, y) <= radius;
}
public boolean contains(Circle2D circle)
{
return distance(circle.x, circle.y) + circle.radius <= radius;
}
public boolean overlaps(Circle2D circle)
{
return distance(circle.x, circle.y) < (radius + circle.radius);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.