小白请教下代码对着教程敲为什么会有以下错误呢

白白了白呀白 2017-11-23 10:35:03
编译提示错误: 无法将类 Point中的构造器 Point应用到给定类型;
class Point
{
double x;
double y;
double z;

Point setLocations(double _x, double _y, double _z)
{
x = _x;
y = _y;
z = _z;
}

void setX(double _x) //修改坐标点
{
x = _x;
}

void setY(double _y)
{
y = _y;
}

void setZ(double _z)
{
z = _z;
}

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 PointTest
{
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)));
}
}
...全文
727 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
白白了白呀白 2018-01-01
  • 打赏
  • 举报
回复
谢谢楼上各位答主,分数不多,大部分给第一位解答的答主,剩下的只能各位前辈平分了
Clumsy__Cat 2017-11-27
  • 打赏
  • 举报
回复
你是对着错误的教程敲的吧?很明显的构造方法都错了,还有,你这代码编译都不会通过,setLocations方法没有return Point类型
Xlyxcar 2017-11-26
  • 打赏
  • 举报
回复
这句 Point setLocations(double _x, double _y, double _z) 改成 Point (double _x, double _y, double _z) 不太明白构造方法名后面加一段是什么意思。。。
天之上有什么 2017-11-25
  • 打赏
  • 举报
回复
你使用的是默认的构造方法,需要自己创建一个带三参数的构造才符合要求,严重怀疑你这个教程的真假,怕不是在地摊上淘的二元货哦
初见_冰 2017-11-24
  • 打赏
  • 举报
回复
最基础的构造方法的问题,多看看构造方法相关的知识就好了,慢慢来~~~
李德胜1995 2017-11-24
  • 打赏
  • 举报
回复
有啥意思呢???
thinking code 2017-11-24
  • 打赏
  • 举报
回复
Point setLocations(double _x, double _y, double _z) { x = _x; y = _y; z = _z; } 这个构造方法写错了
xy825459556 2017-11-24
  • 打赏
  • 举报
回复
你确定是按这教程上面敲的没有睡着吗
面条些 2017-11-24
  • 打赏
  • 举报
回复
没有对应的构造方法呀
  • 打赏
  • 举报
回复
double x; double y; double z; public Point(double _x, double _y, double _z){ x = _x; y = _y; z = _z; } Point setLocations(double _x, double _y, double _z) { return new Point(_x,_y,_z); } 这样就不会错了。。。你看得那代码就是错的。。。
蓝莓之恋9527 2017-11-24
  • 打赏
  • 举报
回复
就不能把代码格式化一下吗,这样怎么看
gagabnddshs 2017-11-23
  • 打赏
  • 举报
回复
class Point { double x; double y; double z; /** * 题主:没有重写构造方法,默认无参构造方法 * new实质是用构造方法来创建对象的 而题主PointTest中构造方法有参,需要重写 * @param x * @param y * @param z */ Point(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } // 题主:Point setLocations... void setLocations(double _x, double _y, double _z) { x = _x; y = _y; z = _z; } // 修改坐标点 void setX(double _x) { x = _x; } void setY(double _y) { y = _y; } void setZ(double _z) { z = _z; } 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 PointTest { 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))); } } 不懂的先记下就行,继续往后看,慢慢前面的就懂了 就算第一遍你懂了,迟早你还是要温习的,你懂得
lazy_yy 2017-11-23
  • 打赏
  • 举报
回复
倒数第三行输出语句是不是多了一个括号

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧