2014-09-25 36 views
-1

如何爲段類編寫雙斜率方法?在段類中使用雙重方法

我有兩個變量:p1 = x1,y1和p2 = x2,y2。

我沒有這個代碼,但是這是錯誤的:

public double slope() { 
    return (double)(p2.y - p1.y)/(p1.x-p2.x); 
} 

有人能告訴我爲什麼錯了? 什麼是寫它的正確方法?

謝謝!

+0

僅供參考:代碼片段僅在有人使用Javascript時運行。您正在使用Java,並且不支持。 – Makoto 2014-09-25 22:48:28

+0

[Java中的整數除法]的可能重複(http://stackoverflow.com/questions/7220681/division-of-integers-in-java) – Ben 2014-09-25 22:49:41

回答

0

根據p1的類型,它可能是一個Point,它同時採用x座標和y座標。

public class Point { 
    private final int x; 
    private final int y; 

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

    public int getX() { 
     return x; 
    } 

    public int getY() { 
     return y; 
    } 
} 

你不得不使用getX()getY()得到X和Y座標。你也必須確保你創建了new Point(1, 2)

此外,還要確保你周圍,而你的分子加上括號獲得正確的投行爲:

return ((double)(p2.getY() - p1.getY()))/(p1.getX() - p2.getX()); 

(雖然上面似乎尖叫單獨deltaYdeltaX方法)