Sorts rectangle objects

Assignment Help Basic Computer Science
Reference no: EM13673927

Consider the following program that sorts Rectangle objects:

public class SortDemo
{
public static void main(String[] args)
{
Rectangle rect1 = new Rectangle(5, 10, 20, 30);
Rectangle rect2 = new Rectangle(10, 20, 30, 15);
Rectangle rect3 = new Rectangle(20, 30, 45, 10);

// Put the rectangles into a list
ArrayList<Rectangle> list = new ArrayList<Rectangle>();
list.add(rect1);
list.add(rect2);
list.add(rect3);

// Call the library sort method
Collections.sort(list);

// Print out the sorted list
for (int i = 0; i < list.size(); i++)
{
Rectangle r = list.get(i);
System.out.println(r.getWidth() + " " + r.getHeight());
}
}
}

When you compile the program, you will get an error message. What is the error message? What is the reason for the error message?

- Error message is "Cannot find symbol - class Rectangle"
- Error is because there's no imports or references to a rectangle class

3.2. Unfortunately, you cannot modify the Rectangle class so that it implements the Comparable interface. The Rectangle class is part of the standard library, and you cannot modify library classes.

Fortunately, there is a second sort method that you can use to sort a list of objects of any class, even if the class doesn't implement the Comparable interface.

Comparator<T> comp = . . .;
// for example, Comparator<Rectangle> comp = new RectangleComparator();
Collections.sort(list, comp);

Comparator is an interface. Therefore, comp must be constructed as an object of some class that implements the Comparator interface.

What method(s) must that class implement? (Hint: Look up the Comparator interface in the API documentation.)

3.3. Implement a class RectangleComparator whose compare method compares two rectangles.

The method should return:
a positive integer if the area of the first rectangle is larger than the area of the second rectangle
a negative integer if the area of the first rectangle is smaller than the area of the second rectangle
0 if the two rectangles have the same area

Part of the code has been provided for you below:

import java.util.Comparator;
import java.awt.Rectangle;

public class RectangleComparator implements Comparator<Rectangle>
{
/**
Compares two Rectangle objects.
@param r1 the first rectangle
@param r2 the second rectangle
@return 1 if the area of the first rectangle is larger than the area of
the second rectangle, -1 if the area of the first rectangle is
smaller than the area of the second rectangle or 0 if the two
rectangles have the same area
*/
public int compare(Rectangle r1, Rectangle r2)
{
. . .
}
}

3.4. Write a test program that adds the three rectangles below to a list, constructs a rectangle comparator, sorts the list, and prints the sorted list and the expected values.

Rectangle rect1 = new Rectangle(5, 10, 20, 30);
Rectangle rect2 = new Rectangle(10, 20, 30, 15);
Rectangle rect3 = new Rectangle(20, 30, 45, 10);

What is your test program?

3.5. A very specialized class, such as the RectangleComparator, can be defined inside the method that uses it.

Reorganize your program so that the RectangleComparator class is defined inside the main method of your test class.

What is your main method now?

Reference no: EM13673927

Questions Cloud

Create a gui application with jframe : Create a GUI application with JFrame that contains five labels describing reasons that a customer might not buy a specific product (e.g. "too expensive"). Place a JButton on the JFrame, and code its functionality so that every time the user cl..
Write an essay paper addressing what is coso : Write an essay paper addressing what is COSO
The database specification : The database specification
Patient care applications : Patient care applications
Sorts rectangle objects : Sorts Rectangle objects
Get in the way of leading a more fulfilling life : Do soft addictions "get in the way of leading a more fulfilling life"?
Explain the difference between quoting and paraphrasing : Explain the difference between quoting and paraphrasing. Which needs proper documentation
Cultural norms geographic location and ethics : Cultural Norms, Geographic Location, and Ethics
Describe the character of chines girl : Describe the character of chines girl (Ni Kan ) from the short story Two Kinds by Amy Tan.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd