Question
In Java programming language. For this assignment, you must write a class Rectangle and a tester RectangleTest. The Rectangle class should have only the following
In Java programming language.
For this assignment, you must write a class Rectangle and a tester RectangleTest. The Rectangle class should have only the following public methods (you can add other non-public methods):
-
Write a constructor that creates a rectangle using the x, y coordinates of its lower left corner, its width and its height in that order. Creating a rectangle with non-positive width or height should not be allowed, although x and y are allowed to be negative.
-
Write a method overlap(Rectangle other). This method should return true if this rectangle overlaps with other, false otherwise. Rectangles that touch each other are not considered to be overlapping.
-
Write a method intersect(Rectangle other). This method should return a Rectangle object that represents the overlap of the two rectangles. If no intersection exists, it should throw a NoSuchElementException with a helpful message.
-
Write a method union(Rectangle other). This method returns a Rectangle object that represents the union of this rectangle and the other rectangle. The union is the smallest rectangle that contains both rectangles. Note that unlike the intersection, the union always exists.
-
Write a method toString that returns a String. The string should be formatted exactly as: x:2, y:3, w:4, h:5 without the quotation marks and replacing the numbers with the actual attributes of the object.
There exists a class called Rectangle in Java already. You are not allowed to use this class in any way! Make sure that you are not accidentally importing it!
A few suggestions about tests:
-
You need more than one tests for overlap, because there can be several kinds of overlap. Think about it!
-
Write as many tests as you can think of. But you do not need to conflate many tests into one method: for example, you can write several different methods to test just overlap provided you isolate the objective of each test.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started