gpt4 book ai didi

java - 方法将另一个对象作为参数

转载 作者:行者123 更新时间:2023-11-29 03:32:42 29 4
gpt4 key购买 nike

我正在做 Java 编程的作业。我被要求编写一个返回两点之间距离的方法。我应该使用给定的公式 distance = square root((x2 - x1)*(x2 - x1) +(y2 - y1)*(y2 - y1))

在下面的代码中,对象a 将包含当前坐标x1 和y1,b 将是坐标x2 和y2,传递到某个位置移动。

如果没有其他类和其他元素,如x2、y2,如何在这个类中编写方法?在对象中有两个值,但如何将每个值分配给 x1 和 x2,以及 y1 和 y2?我找到了 vector for java 的定义,但我不确定它是否适用于此。有人有想法吗?

public class MyPoint{
private int x;
private int y;
}

public MyPoint(int x, int y){
this.x = x;
this.y = y;
}

public int distanceTo(MyPoint a, MyPoint b){
MyPoint.x1 = a;
MyPoint.y1 = a;
MyPoint.x2 = b;
MyPoint.y2 = b;
double distance = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
return distance;
}
}

最佳答案

distanceTo 方法应该只接受一个参数,一个 MyPoint 对象,而不是两个参数:

public double distanceTo(MyPoint other) {
// ...
}

比较的第一个对象将是当前对象,即调用其方法的对象。

然后在方法主体中,将当前对象的字段 this.xthis.y 与传入对象的 x 和 y 值进行比较方法的参数,other.xother.y

此外,该方法可能应该返回一个 double,而不是您定义的 int。

关于,

How can I write the method in this class without having other classes and other elements such as x2, y2?

我不确定你的意思。

关于java - 方法将另一个对象作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17308182/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com