定义一个Point类来表示三维空间的三个坐标,为什么我这段程序测试类会报错
package Test;
public class Point {
private double x;
private double y;
private double z;
public Point(double x,double y,double z) {
this.x=x;
this.y=y;
this.z=z;
}
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;
}
public double getZ() {
return z;
}
public void setZ(double z) {
this.z = z;
}
public double getDistance(Point p){
return (x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)+(z-p.z)*(z-p.z);
}
}
public class TestPoint{ //这里报错
public static void main(String[] args) {
Point p=new Point(1.0, 2.0, 3.0);
Point p1=new Point(0.0, 0.0, 0.0);
System.out.println(p.getDistance(p1));
p.setX(5.0);
System.out.println(p.getDistance(new Point(1.0, 1.0, 1.0)));
}
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
解决办法:1,将两个类分别写在两个文件里。
2,或者将其中和文件名不一样的类的public修饰去掉。 |
|
|
|
|
我知道你为什么出现错误了。
你将两个类写在了一个文件里面,这种情况下,只能有一个类被声明为public,且这个类必须和文件名一样。
而且,你这样的代码,eclipse应该会有提示出错信息的,强行运行,就会出现你发的错误。 |
|
|
|
|
经测试,程序无误
|
|
|
|
|