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 <--三角形面积公式
我正在尝试从二维直角坐标系中的3个点(x,y)计算三角形的面积。我假设上面的公式能正确地给出三角形的面积(如果不是,请纠正我),但是我的编译器说“operator - cannot be applied to java.awt.Point,java.awt.Point” 。我假设它之所以这样说是因为您不能将点从彼此减去,但公式中的每个值都是x或y值,而不是点。如何修复我的代码以使其工作? 谢谢!
Point
是AWT(抽象窗口工具包)的一部分,旨在在屏幕上绘制图形,响应时间至关重要。因此,由于访问变量比调用方法快得多,许多AWT类中都会公开内部字段。@adam-matan所说的一切都是完全正确的,我只是想指出为什么java.awt.Point
不是数学上的点以及为什么会发生这种情况。 - Yago Méndez Vidal