Menu

Please Use Codes Class Point Class Pointmain 1 Class Point Point Object Represents Pair X Q43902691

19. Modify the point class from Chapter 8 so that it defines a natural ordering by implementing the Comparable interface. Com

please use below the codes for class Point and classPointMain

1. Class Point

// A Point object represents a pair of (x, y) coordinates.
// Class invariant: x >= 0 && y >= 0. (Quadrant Ionly)

public class Point {
private int x;
private int y;

// Constructs a new point at the given (x, y) location.
// pre: x >= 0 && y >= 0
public Point(int x, int y) {
if (x < 0 || y < 0) {
throw new IllegalArgumentException();
}
this.x = x;
this.y = y;
}

// Constructs a new point at the origin, (0, 0).
public Point() {
this(0, 0); // calls Point(int, int) constructor
}

// Returns the distance between this Point and (0, 0).
public double distanceFromOrigin() {
return Math.sqrt(x * x + y * y);
}

// Returns whether o refers to a point with the same (x,y)
// coordinates as this point. Robust version.
public boolean equals(Object o) {
if (o instanceof Point) {
Point other = (Point) o;
return this.x == other.getX() && this.y ==other.getY();
} else { // not a Point object
return false;
}
}

// Returns the x-coordinate of this point.
public int getX() {
return this.x;
}

// Returns the y-coordinate of this point.
public int getY() {
return this.y;
}

// Returns a String representation of this point.
public String toString() {
return “(” + this.x + “, ” + this.y + “)”;
}

// Returns a new point, shifted from this one by dx anddy.
// pre: x + dx >= 0 && y + dy >= 0
public Point translate(int dx, int dy) {
return new Point(this.x + dx, this.y + dy);
}
}

2. class PointMainMin

// A client program that deals with simple points.
// Minimal version, to accompany immutable Point class.

public class PointMainMin {
public static void main(String[] args) {
// create two Point objects
Point p1 = new Point(7, 2);
Point p2 = new Point(4, 3);

// print each point and its distance from the origin
System.out.println(“p1 is ” + p1);
System.out.printf(“distance from origin = %3.2fn”,
p1.distanceFromOrigin());

System.out.println(“p2 is ” + p2);
System.out.printf(“distance from origin = %3.2fn”,
p2.distanceFromOrigin());
}
}

19. Modify the point class from Chapter 8 so that it defines a natural ordering by implementing the Comparable interface. Compare the points by y-major order; that is, points with smaller y-coordinate values should come before those with higher y-coordinate values. Break ties by comparing X-coordinate values. Show transcribed image text 19. Modify the point class from Chapter 8 so that it defines a natural ordering by implementing the Comparable interface. Compare the points by y-major order; that is, points with smaller y-coordinate values should come before those with higher y-coordinate values. Break ties by comparing X-coordinate values.

Expert Answer


Answer to please use below the codes for class Point and class PointMain 1. Class Point // A Point object represents a pair of (x…

OR