Прежде всего, позвольте мне пояснить, что я ограничен дизайном API, поэтому, пожалуйста, не изменяйте API, однако частные функции могут быть добавлены.Верните «Компаратор» из другой функции
public class Point implements Comparable<Point> {
public Point(int x, int y) // constructs the point (x, y)
public void draw() // draws this point
public void drawTo(Point that) // draws the line segment from this point to that point
public String toString() // string representation
public int compareTo(Point that) // compare two points by y-coordinates, breaking ties by x-coordinates
public double slopeTo(Point that) // the slope between this point and that point
public Comparator<Point> slopeOrder() // compare two points by slopes they make with this point
}
Проблема возникает, когда я пытаюсь переопределить функцию сравнения в методе slopeOrder()
. Я попытался вызвать метод compare()
в функции slopeOrder()
, но поскольку у меня нет никаких параметров в API, я не мог.
Просьба предложить некоторые решения для возврата Comparator<Point>
из метода slopeOrder()
.
выглядит как ASM;) с этими комментариями линии;) – Antoniossss
Нужно ли вам называть сравнение? Если точки сопоставимы, зачем вам нужен этот компаратор. Похоже, что компаратор, которого вы должны вернуть, должен определить другой порядок. –
Это одно из заданий на coursera (algs4), прибитое логической частью, но это первый раз, когда я имею дело с интерфейсом Comparator. – Shanky