Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用getY()和getX()计算两点之间的距离_Java_Object_Encapsulation_Points - Fatal编程技术网

Java 使用getY()和getX()计算两点之间的距离

Java 使用getY()和getX()计算两点之间的距离,java,object,encapsulation,points,Java,Object,Encapsulation,Points,我正在尝试创建一种方法来计算两点对象之间的距离: public class Point { private double x; private double y; public Point (double x, double y) { this.x = x; this.y = y; } private static void main (String[] args) { Point p1 = new

我正在尝试创建一种方法来计算两点对象之间的距离:

public class Point {

    private double x;
    private double y;

    public Point (double x, double y) {

        this.x = x;
        this.y = y;
    }

    private static void main (String[] args) {
        Point p1 = new Point(5.0,6.0);
        Point p2 = new Point(2.0,2.0);
        double distance = Math.sqrt((p1.getX() - p2.getX()) *  (p1.getX() - p2.getX()) + 
                                    (p1.getY() - p2.getY()) *  (p1.getY() - p2.getY()));
        System.out.println(distance);

    }

}
当我试图编译它时,我不断得到错误信息,如:

Point.java:16: error: cannot find symbol
    double distance = Math.sqrt((p1.getX() - p2.getX()) *  (p1.getX() - p2.getX()) + 
                                   ^

问题是您实际上还没有创建getter和setter方法(特别是getter方法)。在Java中,getter和setter方法不会自动为您创建;您必须自己显式地创建它们。因此,只需添加以下代码:

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }
您也可以直接使用
p1.x
,但最好使用getter和setter封装Point类的坐标(x和y)

还有


要使主方法工作,需要将其设置为
public
,而不是
private

您的点类没有
getX()
方法。