import java.lang.Math;
import java.awt.*
public class Triangle implements Shape
{
java.awt.Point a;
java.awt.Point b;
java.awt.Point c;
public Triangle(java.awt.Point a, java.awt.Point b, java.awt.Point c)
{
this.a = a;
this.b = b;
this.c = c;
}
public double getArea()
{
double area;
return area = Math.abs((a-c)*(b-a)-(a-b)*(c-a));
} ...
http://upload.wikimedia.org/math/f/e/5/fe56529cdaaaa9bb2f71c1ad8a1a454f.png < --area式爪哇:一個三角形
我試圖從2D笛卡爾計算從3點(X,Y)的三角形的面積座標系的計算面積。我假設我的上述公式正確地產生了一個三角形的面積(如果沒有,請糾正我),但我的編譯器說「運算符 - 不能應用於java.awt.Point,java.awt.Point」。我假設它是這樣說的,因爲你不能相互減去點數,但公式中的每個值都是x或y值,而不是一個點。我如何修復我的代碼,這樣可以工作? 謝謝!
非常感謝了全面的回答,亞當。我今天學到了一些東西! – dukevin 2010-01-27 09:17:05
我完全同意使用getters和setter:這是一個很好的習慣,這只是一個例外。 Point使用的類是AWT的一部分,抽象窗口工具包,用於在響應時間至關重要的屏幕上繪製圖形。因此,由於訪問變量比調用方法快,因此內部字段在許多AWT類中暴露。 @ adam-matan所說的一切都是完全正確的,只是想指出爲什麼'java.awt.Point'不是數學問題以及爲什麼會發生這種情況。 – 2015-02-25 15:04:09
謝謝!很高興知道。 – 2015-02-25 15:12:44