首页 > 为何此处会出现找不到symbol的错误呢?

为何此处会出现找不到symbol的错误呢?

使用this不是引用创建的对象么?

import java.util.Comparator;
import java.lang.Comparable;

public class Point implements Comparable<Point> {
    int x, y;
    public final Comparator<Point> SLOPE_ORDER = new ByOrder();

    private class ByOrder implements Comparator<Point> {
        public int compare(Point one, Point two) {
            return this.slopeTo(one) < this.slopeTo(two) ? -1: 
                   this.slopeTo(one) > this.slopeTo(two) ? 1:0;
        }
    }

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public void draw() {
        StdDraw.circle(x, y, 00);
    }

    public void drawTo(Point that) {
        StdDraw.line(this.x, this.y, that.x, that.y);
    }

    public String toString() {
        String point_string = '(' + String.valueOf(x) + ',' + 
                                    String.valueOf(y) + ')';
        return point_string;
    }

    public int compareTo(Point that) {
        return ((this.y < that.y) || (this.y == that.y && this.x < that.x)) ? -1:
                (this.y > that.y) ? 1:0;

    }
    public double slopeTo(Point that) {
        double slope = (that.y - this.y) / (that.x - this.x);
        return slope;
    }

}

Point.java:10: error: cannot find symbol return this.slopeTo(one) <
this.slopeTo(two) ? -1:
^ symbol: method slopeTo(Point)


你的 thisByOrder 对象,而 ByOrder 不在 Point 的继承树上

【热门文章】
【热门文章】