定义一个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)));

}

}


慕粉3345685
浏览 1910回答 3
3回答

大水萝卜

解决办法:1,将两个类分别写在两个文件里。 2,或者将其中和文件名不一样的类的public修饰去掉。

大水萝卜

我知道你为什么出现错误了。 你将两个类写在了一个文件里面,这种情况下,只能有一个类被声明为public,且这个类必须和文件名一样。 而且,你这样的代码,eclipse应该会有提示出错信息的,强行运行,就会出现你发的错误。

大水萝卜

经测试,程序无误
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java