CS 1063 Lab 5:
Drawing and Comparing Circles
The Circles Class
- Call methods with parameters and return values.
- Use the DrawingPanel and Graphics classes.
- Use if statements to control return values and print statements.
All projects and laboratories will be submitted electronically through
Blackboard. Zip up your entire lab directory to submit as the
source. (Right click on the lab folder and follow Send To
> Compressed (zipped) Folder or 7-Zip > Add to
"lab5.zip".) The lab folder should
include the following:
Ask the user for information to draw three circles in a
DrawingPanel. Print information about the circles. Each
item of information should correspond to a different static method.
Similar to previous programs, your program should start
Lab 5 written by YOURNAME
The DrawingPanel should be 400x300.
Ask the user for the center and radius of each circle. Use the
fillOval method to draw the circles. Note that the
parameters to fillOval (the upper-left corner and the width
and height of the bounding box) need to be calculated from the
information provided by the user (the center and the radius).
Also, fill the circles using three different colors.
Each of the following items should be performed by a
separate static method. Each method might have up to six
parameters. Each circle is described by three values: the x and
y values of the center, and the radius.
- One static method should have parameters for the radiuses of two
circles (two parameters), and the method should return -1 if
the first circle is smaller, return 0 if the two circles have
the same size, or return 1 if the first circle is
larger. Based on the return value from this method, the main
method should print a line of output like:
The green circle is smaller than the red circle.
- Another static method should have parameters for the radiuses and
locations of two circles (six paramters), and the method should return
1 if the circles intersect or return 0 if the
circles do not intersect (alternatively, you could return
true or false). If (x1,y1) and
(x2,y2) are the centers of the circles and if r1 and
r2 are their radiuses, then the circles intersect if the
distance between the centers, the square root of:
is less than or equal to r1 + r2. Based on the return
values from this method, the main method should print a line of output
(x1 - x2)2 + (y1 - y2)2
The blue circle intersects the red circle.
Given a circle, return 1 if the circle is
completely within the window, return 0 if the circle is
partially within the window, or
return -1 if the circle is completely outside the
The program should print something appropriate.
Note that each method needs to be called three times. If your
circles are blue, green, and red, then the first method needs to be
called for three pairs: blue and green, blue and red, and green and
If you find it is more convenient to return values other than
-1, 0, and 1, you are free to do so.
However, your methods must return values that your main method uses to
print the results. You are also free to implement any additional
methods that you like. Remember to put the results of the print
statements into a file named CirclesOutput.txt.
Your program should compile without any errors. A program
with more than one or two compile errors will likely get a zero for
the whole assignment.
The following criteria will also be used to determine the grade for this
- [2 points] If your submission includes the following:
- The main method prints "Lab 5 written by [...]".
- Your submission was a Zip file named lab5.zip
containing a folder named lab5, which contains the other
- If your Java program was in a file named
- If the output of your Java program was in a file named
- If your program contains a comment that describes what
the program does and contains a comment describing each method.
- If your program is indented properly.
- [3 Points] If the main method inputs the values for three circles
from the user.
- [3 points] If the main method correctly draws the three circles in
a DrawingPanel with three different colors.
- [4 Points] If the main method calls a method to compare the sizes
of two circles. This method should have two parameters, should return
the correct value, and should NOT print anything. The main method should
call this method three times.
- [4 Points] If the main method calls a method to determine if two
circles intersect. This method should have six parameters, should
return the correct value, and should NOT print anything. The main
method should call this method three times.
- [4 points] If the program correctly prints out the results of
the above two methods based on their return values.