我創建了一個類,可以發現,它們之間的中點值的兩個點之間的距離:打印點的值到終端
public class Point {
private double x;
private double y;
public Point (double x, double y) {
this.x = x;
this.y = y;
}
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 static void main (String[] args) {
Point p1 = new Point(1,1);
Point p2 = new Point(4,5);
System.out.println("The distance between p1 and p2 is: " + distance(p1, p2));
System.out.println("The midpoint of p1 and p2 is: " + findMidpoint(p1, p2));
}
public static double distance(Point p1, Point p2) {
return Math.sqrt((p1.getX() - p2.getX()) * (p1.getX() - p2.getX()) +
(p1.getY() - p2.getY()) * (p1.getY() - p2.getY()));
}
public static Point findMidpoint (Point p1, Point p2) {
return new Point((p1.getX() + p2.getX())/2, (p1.getY() + p2.getY())/2);
}
}
此代碼編譯罰款,但是當我運行它,它給出輸出:
The distance between p1 and p2 is: 5.0
The midpoint of p1 and p2 is: [email protected]
無論p1和p2的值如何,它都給出相同的中點值。我想輸出格式爲「(x,y)」的中點。
有人也可以解釋爲什麼我被迫使距離和findMidpoint方法是靜態的嗎?
overide'toString()' – 2014-11-23 23:38:57