Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Part 1: You will implement a complete class called Point that describes a point as it may be used in a graphics application. A point

Part 1:

You will implement a complete class called Point that describes a point as it may be

used in a graphics application. A point consists of an x and y coordinate and a color.

Here are the specifications:

The class has three instance variables. x: an int representing the x coordinate. y: an int representing the y coordinate. color: a String that represents the color associated with the point.

Methods you must implement: Constructor(s) - no argument and 3 argument Accessor and mutator methods (get/set methods) translate: This method takes two int parameters, dx and dy. It then increments the x coordinate by dx, and increments the y coordinate by dy.

public void translate (int dx, int dy)

toString: Write the toString method associated with this class. The returned String has to be in the following form: (x,y) : [x and y values here], color: [color value here] ''.

Lab Part 2: Implement a Circle class which extends the Point class you have defined in Part 1. The x and y coordinates inherited from the Point class represent the center point of the circle. In addition to the instance variables of Point, Circle has the following instance variable: radius: an int representing the radius of a circle.

public class Circle extends Point

Methods you must implement: Constructor(s)using the super command, accessor and mutator methods (get/set methods) for the radius.

In addition, code these methods in Circle clas calculateArea: This method should return the area of the circle. In this method use Math.PI. This is a constant representing PI. It requires nothing to be imported. ( Math.PI * radius*radius)

scale: This method takes a single int parameter, scaleFactor. It then scales radius by scalefactor (the new radius value should be old radius times the scale factor.) merge: This method takes a Circle type parameter. The method will create and return a new Circle object whose radius is the sum of the radius of the calling object and the radius of the parameter. The color of the new Circle object will be the color of the parameter object. The x and y coordinates of the new Circle object will be the x and y coordinates of the parameter object. A reference to the new Circle object should be returned. The calling object and the parameters object should not be modified.

public Circle merge(Circle c)

when you call the method in the main

Circle returnedCircle = c1.merge(c2);

System.out.println(returnedCircle);

toString: Write the toString method associated with this class. The returned String has to be in the following form(use super.toString()):

(x,y) : [x and y values here], color: [color value here] '`radius: [radius value here]'.

equals Write an equals method for Circle . Circles are equal if x, y and radius are the same.

Part3:

Implement a class called Sphere that extends Circle

It adds no instance variables to Circle.

You can write constructors for Sphere by using the super keyword. There is no need for setters/getters/toString or equals in this class.

Write a method called calculateArea that will override the method it inherits from Circle.

To calculate the area of a sphere use the equation

4*Math.PI*radius*radius

Part 4:

Write a driver class to test your Point and Circle and Sphere classes.

Create these objects

p1 using Point no argument constructor. Then use setX, setY, setColor to set these values to whatever you want. Print this point using toString to the output file.

Create another point p2 that passing 2 ints read in from keyboard and a String color

Print out p1 and p2. Use the translate method on one of the points and print out the new x and y

Create a Circle object c1 that uses the no argument constructor for Circle. Then use SetX and SetY , setColor and setRadius to make complete circle. Use toString to write to output.

Create a Circle c2 that uses p2 and the third integer (r2) read in from the keyboard to create Circle. Print to output file.

Call equals method on circles

Create an array of Circles( SIZE=10). Initialize the array with a for loop - set x equal to the array index, y= array index +5, Color=BLACK, radius equals array index *10. See below

circleArray[i]= new Circle (i, i+5, BLACK, i*10);

Call toString to print out the circleArray to the output file.

Call scalefactor on the array of circles. Print out the changes .

Call merge on c1 and c2. Print out the new resulting Circle.

Create a Sphere object s1 and calculate the area and print out

Sample output

p1 (x,y) : [x and y values here], color: [color value here]

p2 (x,y) : [x and y values here], color: [color value here]

c1 :(x,y) [x and y values here], color: [color value here] radius: [radius value here],

c2 (x,y) [x and y values here], color: [color value here] radius: [radius value here],

The area of c1 is [area] + the area of c2 is [area]

The circles are not equal

CircleArray[1] (x,y) : [x and y values here], color: [color value here] radius: [radius value here],

CircleArray [2] (x,y) : [x and y values here], color: [color value here] radius: [radius value here],

etc

After scalefactor

CircleArray[1] (x,y) : [x and y values here], color: [color value here] radius: [radius value here],

CircleArray [2] , (x,y) : [x and y values here], color: [color value here] radius: [radius value here]

.. etc

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions