diff --git a/Coordinate.java b/Coordinate.java new file mode 100644 index 0000000..102e425 --- /dev/null +++ b/Coordinate.java @@ -0,0 +1,32 @@ +public class Coordinate implements Comparable { + + private int x; + private int y; + + public Coordinate(int x, int y) { + this.x = x; + this.y = y; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + public double getDistanceToOriginPoint() { + return Math.hypot(x, y); + } + + public int compareTo(Coordinate c) { + if (getDistanceToOriginPoint() < c.getDistanceToOriginPoint()) { + return -1; + } else if (getDistanceToOriginPoint() > c.getDistanceToOriginPoint()) { + return 1; + } else { + return 0; + } + } +} diff --git a/Exercise.java b/Exercise.java index 3c092f9..aa7940a 100644 --- a/Exercise.java +++ b/Exercise.java @@ -1,6 +1,21 @@ +import java.util.ArrayList; +import java.util.Collections; + public class Exercise { public static void main(String[] args) { - // implement exercise here + ArrayList coordinates = new ArrayList<>(); + + coordinates.add(new Coordinate(3, 5)); + coordinates.add(new Coordinate(7, 6)); + coordinates.add(new Coordinate(2, 1)); + coordinates.add(new Coordinate(6, 8)); + coordinates.add(new Coordinate(1, 9)); + + Collections.sort(coordinates); + + for (Coordinate c : coordinates) { + System.out.println(c + ": " + c.getDistanceToOriginPoint()); + } } }