我是编程新手并寻找帮助来找到点之间的距离
我现在拥有的是:
import java.util.*;
class WS8Q2 {
public static void main(String[] args){
Scanner in = new Scanner (System.in);
double x0=0;
double x1=0;
double y0=0;
double y1=0;
System.out.println("Please enter 4 numbers");
x0=in.nextDouble();
double distance = (x0, y1, x1, y0);
System.out.print(answer);
}
public static double distance (x0, y1, x1,y0) {
return Math.Sqrt ((x1 - y0) * (y1-y0) + (x1-x0) * (x1-x0));
}
我真的不确定该怎么做,因为我以前从未做过距离,我只是完全失去了,试图查找某些公式,但我发现的唯一的东西似乎对我有用的东西是在这个网站link这似乎对我说不多
编辑:这是问题以及我想要实现的目标:
设计一个函数距离,它取四个分数参数x0,y0,x1和y1,并返回点(x0,y0)和(x1,y1)之间的距离。 (如果你不记得它,请查看公式!)
答案 0 :(得分:10)
两点(x0, y0)
和(x1, y1)
的距离公式应为:
Math.Sqrt ((x1 - x0) * (x1-x0) + (y1-y0) * (y1-Y0));
考虑接近OOP:声明一个带有(x,Y)属性的Point,声明一个setLocation(a, b)
函数并声明getDistance(Point)
函数:
class Point
{
double x;
double y;
Point(double x, double y)
{
this.x = x;
this.y = y;
}
public double getDistance(Point p)
{
// now implement it
}
}
另外,如果您还不知道java有一个Point2D类,它具有distance(double px, double py)
函数。
答案 1 :(得分:1)
您可以使用此功能计算距离......
public static double distance (x0, y1, x1,y0) {
return Math.Sqrt (Math.pow((y1 - y0),2) + Math.pow((x1-x0),2));
}
答案 2 :(得分:1)
首先,您要打印distance
而不是answer
。其次,它在你的链接上给了你answer ....试试这个
public static double distance (double x0, double y1, double x1, double y0) {
return Math.hypot(x1-x0, y1-y0); // <-- From your link.
}
找到两点之间距离的公式与毕达哥拉斯定理完全相同,找到斜边的长度。即c 2 = a 2 + b 2 。
最后,您需要阅读所有四个双重内容...而不仅仅是一个。
x0=in.nextDouble(); // Good. 1
x1=in.nextDouble(); // And another... 2
y0=in.nextDouble(); // And another... 3
y1=in.nextDouble(); // One more. 4