Java Reference
In-Depth Information
*10.13
( Geometry: the MyRectangle2D class ) Define the MyRectangle2D class that
contains:
Two double data fields named x and y that specify the center of the rectangle
with get and set methods. (Assume that the rectangle sides are parallel to x-
or y- axes.)
The data fields width and height with get and set methods.
A no-arg constructor that creates a default rectangle with ( 0 , 0 ) for ( x , y ) and 1
for both width and height .
A constructor that creates a rectangle with the specified x , y , width , and
height .
A method getArea() that returns the area of the rectangle.
A method getPerimeter() that returns the perimeter of the rectangle.
A method contains(double x, double y) that returns true if the speci-
fied point ( x , y ) is inside this rectangle (see Figure 10.18a).
A method contains(MyRectangle2D r) that returns true if the specified
rectangle is inside this rectangle (see Figure 10.18b).
A method overlaps(MyRectangle2D r) that returns true if the specified
rectangle overlaps with this rectangle (see Figure 10.18c).
p
(a)
(b)
(c)
(d)
F IGURE 10.18 A point is inside the rectangle. (b) A rectangle is inside another rectangle.
(c) A rectangle overlaps another rectangle. (d) Points are enclosed inside a rectangle.
Draw the UML diagram for the class and then implement the class. Write a test
program that creates a MyRectangle2D object r1 ( new MyRectangle2D(2,
2, 5.5, 4.9) ), displays its area and perimeter, and displays the result of
r1.contains(3, 3) , r1.contains(new MyRectangle2D(4, 5, 10.5,
3.2)) , and r1.overlaps(new MyRectangle2D(3, 5, 2.3, 5.4)) .
*10.14
( The MyDate class ) Design a class named MyDate . The class contains:
The data fields year , month , and day that represent a date. month is 0-based,
i.e., 0 is for January.
A no-arg constructor that creates a MyDate object for the current date.
A constructor that constructs a MyDate object with a specified elapsed time
since midnight, January 1, 1970, in milliseconds.
A constructor that constructs a MyDate object with the specified year, month,
and day.
Three get methods for the data fields year , month , and day , respectively.
A method named setDate(long elapsedTime) that sets a new date for the
object using the elapsed time.
Draw the UML diagram for the class and then implement the class. Write a test
program that creates two MyDate objects (using new MyDate() and new
MyDate(34355555133101L) ) and displays their year, month, and day.
( Hint : The first two constructors will extract the year, month, and day from the elapsed
time. For example, if the elapsed time is 561555550000 milliseconds, the year is
Search WWH ::




Custom Search