我正在尝试创建一个计算两个Point对象之间距离的方法:
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()) +
^
答案 0 :(得分:3)
问题是你实际上没有创建你的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
。