[Solved] SOLVED:# Project-4-Circles

30 $

File Name: SOLVED:#_Project-4-Circles.zip
File Size: 244.92 KB

SKU: [Solved] SOLVED:# Project-4-Circles Category: Tag:

Or Upload Your Assignment Here:


In a prior lab exercise, we had to complete the code to test whether two circles, each having a user-defined radius and a fixed center point lying along the same horizontal line, are disjoint, overlapping, or mutually contained.

We desire to develop a more general solution to the problem – an object oriented solution.

Begin by considering that the word circle is a noun, hence we want to have a Circle class.

What describes a circle? Its position and radius.

Lastly, what behaviors does a circle exhibit? Besides various accessor and mutator methods, we want to know if ‘this’ circle is disjoint, contained within, or overlapping with ‘another’ circle. Additionally, a circle can change – expand or contract via its radius. It can also ‘move’ to another position.

Create two classes, Circle and Position.

The Position class has instance data for its coordinate, x and y, along the x axis and yaxis, respectively. It has the following methods:

1. A constructor taking two parameters to establish the x and y coordinate.2. Accessor methods, getX and getY for x and y, respectively.3. A move method taking two parameters, x and y.4. A distance method taking as a parameter another Position object, p. It returns the absolute distance from p.5. A toString method that returns a string for the x,y coordinates enclosed in parentheses, e.g., “(-1.5,2.0)”.

The Circle class has a instance data a Position object and its radius. It has the following methods:

1. A Constructor taking three parameters: its radius, x position and y position.2. Two accessor method: getRadius returns its radius and getPosition that returns its Position object.3. A mutator method, setRadius that changes the radius of the circle.4. A move method taking two parameters, x and y.5. A distance method taking as a parameter another Circle object, c. It returns the absolute distance of their centroidsfrom c.6. A boolean method, isDisjoint, taking as a parameter another Circle object, c. It returns true if this circle is disjoint from c.7. A boolean method, contains, taking as a parameter another Circle object, c. It returns true if the circle cis contained within this circle.8. A boolean method, overlaps, taking as a parameter another Circle object, c. It returns true if this circle overlaps with c.9. A toString method that returns a string for the radius and x,y coordinates enclosed in parentheses, e.g., “4.3 @ (-1.5,2.0)”.

The logic for determining whether they are disjoint, mutually contained, or overlapping is basically the same as for the prior lab – but simpler!

If the distance between two circles, d, is less than the sum of their radii, r1and r2, then they overlap. If d is greater than or equal to the sum of their radiithey are disjoint. A circle, c2, is contained within circle c1 if (d + r2) is less than or equal to r1.

The following can be used to test the Circleand Position classes. Comments show the expected result.

“`javapublic class CircleTester{public static void main(String[] args){Circle c1 = new Circle(1, 0, 0);display(“c1: ” + c1.toString());Circle c2 = new Circle(2, 1, 1);display(“c2: ” + c2.toString());Circle c3 = new Circle(1, 2, 0);display(“c3: ” + c3.toString());

display(“c1 & c2 disjoint? ” + c1.isDisJoint(c2)); //falsedisplay(“c1 & c3 disjoint? ” + c1.isDisJoint(c3)); //truedisplay(“c2 & c3 disjoint? ” + c2.isDisJoint(c3)); //false

display(“c1 & c2 overlap? ” + c1.overlaps(c2)); //truedisplay(“c1 & c3 overlap? ” + c1.overlaps(c3)); //falsedisplay(“c2 & c3 overlap? ” + c2.overlaps(c3)); //true

display(“c1 contains c2? ” + c1.contains(c2)); //falsedisplay(“c2 contains c1? ” + c2.contains(c1)); //falsedisplay(“c1 contains c3? ” + c1.contains(c3)); //false

display(“c3 contains c1? ” + c3.contains(c1)); //falsedisplay(“c2 contains c3? ” + c2.contains(c3)); //falsedisplay(“c3 contains c2? ” + c3.contains(c2)); //false

Circle c4 = new Circle(2.5, 1, 0);display(“c4: ” + c4.toString());display(“c1 contains c4? ” + c1.contains(c4)); //falsedisplay(“c4 contains c1? ” + c4.contains(c1)); //true}

public static void display(String message){System.out.println(message);}}“`

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] SOLVED:# Project-4-Circles
30 $