我需要创建一个类来计算两点之间的距离。我被困住了,我是一个完全的初学者。这是我的课程:
package org.totalbeginner.tutorial; public class Point { public double x; public double y; Point(double xcoord, double ycoord){ this.x = xcoord; this.y = ycoord; } public double getX() { return x; } public double getY() { return y; } }
第二课。
package org.totalbeginner.tutorial; public class Line { double x; double y; Point p1 = new Point(2.0,2.0); Point p2 = new Point(4.0,4.0); Point mp = new Point(x,y); public void midpoint() { x = (p1.getX() + p2.getX()) / 2; y = (p1.getY() + p2.getY()) / 2; } }
我不确定如何在两个定义的点之间获取点对象(中间点)。
我可以创建点对象,但不确定如何通过midpoint()位于这两个点对象之间的方法返回点对象。
midpoint()
平面上的两个点(x1,y1)和(x2,y2)之间的距离为:
____________________ / 2 2 \/ (y2-y1) + (x2-x1)
但是,如果您想要的只是两个点的中点,则应将中点函数更改为:
public Point midpoint (Point p1, Point p2) { return new Point ((p1.getX() + p2.getX()) / 2, (p1.getY() + p2.getY()) / 2); }
这将返回一个全新的点对象,其点设置为给定两个点的中间(而不必担心其他任何数学运算)。而且,由于您的第二堂课是一行,所以您只需要用两个端点来描述它,所以我将做一些小的更改。
首先Point.java:
Point.java
class Point { double x, y; Point (double xcoord, double ycoord) { this.x = xcoord; this.y = ycoord; } public double getX() { return x; } public double getY() { return y; } }
然后Line.java:
Line.java
public class Line { Point p1, p2; Line (Point point1, Point point2) { this.p1 = point1; this.p2 = point2; } public Point midpoint() { return new Point ((p1.getX()+p2.getX())/2, (p1.getY()+p2.getY())/2); } public double abstand() { return Math.sqrt( (p1.getX() - p2.getX()) * (p1.getX() - p2.getX()) + (p1.getY() - p2.getY()) * (p1.getY() - p2.getY()) ); } static public void main (String args[]) { Line s = new Line (new Point(2.0, 2.0), new Point(5.0, 6.0)); Point mp = s.midpoint(); System.out.println ("Midpoint = (" + mp.getX() + "," + mp.getY() + ")"); double as = s.abstand(); System.out.println ("Length = " + as); } }
这两个文件在编译并与端点2,2和5,6(经典3/4/5直角三角形的斜边)一起运行时,会生成正确的:
2,2
5,6
Midpoint = (3.5,4.0) Length = 5.0