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